joerg: Muss man bei einem Formular das Ziel angeben?

Hallo,
ich habe mal wieder ein php-spezifisches Problem:
Ich will Session-ID's übergeben, allerdings weder über cookies noch über die GET-Methode.

Stattdessen wollte ich ein verstecktes Formular einbauen in dem die Werte die übergeben werden sollen enthalten sind.
Allerdings besteht der Intern-Bereich aus fünf verschiedenen PHP-Dateien.
Nun weiß ich nicht in welchen Bereich der user als nächstes will - insofern kann ich dem hidden-Formular kein direktes Ziel angeben.

Egal wohin der user will (natürlich innerhalb des Internbereichs) - die Session-Daten sollen zur weiteren Auswertung mitgeschickt werden.
Ist das realisierbar mit der Post-Methode bzw. einem hidden-Formular?

MfG,
Jörg

  1. Hi,

    Egal wohin der user will (natürlich innerhalb des Internbereichs) - die Session-Daten sollen zur weiteren Auswertung mitgeschickt werden.
    Ist das realisierbar mit der Post-Methode bzw. einem hidden-Formular?

    du könntest einfach mehrere Formulare mit unterschiedlichem Target erzeugen, d. h. für jeden Link eines. Ich verstehe jedoch nicht, warum du das überhaupt machen willst, und weiße darauf hin, dass dein Vorhaben äußerst unelegant ist und die Website schlecht benutzbar macht. Auch Suchmaschinen werden deine Unterseiten dann nicht indizieren.

    Schöne Grüße
    Julian

    1. du könntest einfach mehrere Formulare mit unterschiedlichem Target erzeugen, d. h. für jeden Link eines. Ich verstehe jedoch nicht, warum du das überhaupt machen willst, und weiße darauf hin, dass dein Vorhaben äußerst unelegant ist und die Website schlecht benutzbar macht. Auch Suchmaschinen werden deine Unterseiten dann nicht indizieren.

      Das die Suchmaschinen meinen Internbereich nicht indizieren ist mir ganz recht ;).
      Das mit den mehreren Formularen hab ich mir auch schon überlegt, aber es ist halt recht umständlich und unschön...

      1. Hi,

        du könntest einfach mehrere Formulare mit unterschiedlichem Target erzeugen, d. h. für jeden Link eines. Ich verstehe jedoch nicht, warum du das überhaupt machen willst, und weiße darauf hin, dass dein Vorhaben äußerst unelegant ist und die Website schlecht benutzbar macht. Auch Suchmaschinen werden deine Unterseiten dann nicht indizieren.

        Das die Suchmaschinen meinen Internbereich nicht indizieren ist mir ganz recht ;).
        Das mit den mehreren Formularen hab ich mir auch schon überlegt, aber es ist halt recht umständlich und unschön...

        das ist durch dein katastrophal schwachsinniges Konzept bedingt, welches sich nicht sauber umsetzen lässt. Ich habe nicht verstanden, was gegen die Lösung mit GET als Alternative bei deaktivierten Cookies spricht.

        Schöne Grüße
        Julian

        1. das ist durch dein katastrophal schwachsinniges Konzept bedingt, welches sich nicht sauber umsetzen lässt. Ich habe nicht verstanden, was gegen die Lösung mit GET als Alternative bei deaktivierten Cookies spricht.

          Schöne Grüße
          Julian

          "Da man hier einfach durch Weitergabe der Session-ID die Session übernehmen. D.h. ein anderer Benutzer könnte, in dem er z.B. die URL samt Session-ID im IRC gepastet bekommt, diese Session übernehmen und auch die Daten des eigentlichen Besitzers einsehen. Um solche Effekte zu vermeiden sind zum einen Cookies nicht schlecht, da hier keine Session-ID in der URL mitgegeben werden muß. Allerdings sind Cookies auch kein Standard, und man würde jeden ausschliessen, der Cookies verweigert."

          Deswegen wollte ich hier nachfragen ob es eine saubere Methode gibt Daten an verschiedene URL's per Post zu übergeben -
          so katastrophal schwachsinnig finde ich die Frage nicht ...

          1. Hi,

            "Da man hier einfach durch Weitergabe der Session-ID die Session übernehmen. D.h. ein anderer Benutzer könnte, in dem er z.B. die URL samt Session-ID im IRC gepastet bekommt, diese Session übernehmen und auch die Daten des eigentlichen Besitzers einsehen. Um solche Effekte zu vermeiden sind zum einen Cookies nicht schlecht, da hier keine Session-ID in der URL mitgegeben werden muß. Allerdings sind Cookies auch kein Standard, und man würde jeden ausschliessen, der Cookies verweigert."

            Deswegen wollte ich hier nachfragen ob es eine saubere Methode gibt Daten an verschiedene URL's per Post zu übergeben -
            so katastrophal schwachsinnig finde ich die Frage nicht ...

            Du hast danach gefragt, ob man "bei einem Formular das Ziel angeben" muss. Ja, muss man.
            Du kannst standardmäßig Cookies verwenden, bei deaktivierten Cookies auf GET zurückgreifen und zum Beispiel beim Login eine Möglichkeit mit Checkbox anbieten, die Session mit der IP/dem User Agent zu koppeln (muss ausschaltbar sein, da sonst User mit wechselnden Proxys ausgeschlossen werden). Wenns dir total wichtig ist, machst du halt noch einen Hinweis dazu, der User solle nicht wild der restlichen Welt seine Session-ID schicken. Wenn es sich um einen Login handelt, könntest du statt Sessions auch HTTP-Authentifzierung nutzen. Die wäre sicher und braucht keine Cookies.

            Schöne Grüße
            Julian

  2. Hi!

    ich habe mal wieder ein php-spezifisches Problem:
    Ich will Session-ID's übergeben, allerdings weder über cookies noch über die GET-Methode.

    Warum denn das? Welchen Vorteil siehst du in der Übergabe per POST?

    Gruß aus Iserlohn

    Martin

    1. Warum denn das? Welchen Vorteil siehst du in der Übergabe per POST?

      Man kann die die übergebenen Daten nicht an der URL ablesen und auch User die cookies deaktiviert haben können weitersurfen ...

      1. Moin!

        Warum denn das? Welchen Vorteil siehst du in der Übergabe per POST?

        Man kann die die übergebenen Daten nicht an der URL ablesen und auch User die cookies deaktiviert haben können weitersurfen ...

        Es geht um deinen internen Bereich. Wer da ohne Cookies zugreift, dürfte relativ einfach auf die Notwendigkeit hinzuweisen sein, dass es ohne Cookies (oder eben nur mit Session-ID in der URL) nicht geht.

        Sicherheitsgewinn erhälst du dadurch jedenfalls keinen.

        - Sven Rautenberg

        --
        My sssignature, my preciousssss!
        1. Hi,

          Warum denn das? Welchen Vorteil siehst du in der Übergabe per POST?

          Man kann die die übergebenen Daten nicht an der URL ablesen und auch User die cookies deaktiviert haben können weitersurfen ...

          Es geht um deinen internen Bereich. Wer da ohne Cookies zugreift, dürfte relativ einfach auf die Notwendigkeit hinzuweisen sein, dass es ohne Cookies (oder eben nur mit Session-ID in der URL) nicht geht.

          Sicherheitsgewinn erhälst du dadurch jedenfalls keinen.

          sicher nicht? Wenn Cookies deaktiviert sind, und die Anwendung ohne Cookies funktionieren soll, wird durch die Übergabe per POST Session-Fixation (http://www.acros.si/papers/session_fixation.pdf) verhindert. Es kann durch das unvorsichtige Kopieren der URL durch den Benutzer so nicht versehentlich die Session-ID an einen Fremden weitergegeben werden.

          Schöne Grüße
          Julian

      2. Hi,

        Warum denn das? Welchen Vorteil siehst du in der Übergabe per POST?
        Man kann die die übergebenen Daten nicht an der URL ablesen

        die Frage war, welchen _Vorteil_ Du siehst.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. die Frage war, welchen _Vorteil_ Du siehst.

          Och, für mich ist das schon ein Vorteil;
          Es kann nicht passieren das user URL's mit, für die Authentifizierung relevante Daten, irgendwo reinpasten (die eben wegen der GET-Methode da dranhängen) -
          und da auch schon die Möglichkeit gegeben ist die Daten in einem Cookie zu speichern will ich auch denjenigen die keine Cookies akzeptieren die Möglichkeit geben trotzdem sich in dem Bereich frei zu bewegen.

          1. Hi there,

            Och, für mich ist das schon ein Vorteil;

            das sieht nur so aus.

            Es kann nicht passieren das user URL's mit, für die Authentifizierung relevante Daten, irgendwo reinpasten (die eben wegen der GET-Methode da dranhängen)

            Es ist extrem gefährlich, die eigene Ignoranz als Maßstab für sicherheitsrelevantes Programmieren zu nehmen. Glaubst Du wirklich, daß jemand, der oben Beschriebenes von Dir nicht gewolltes nicht machen würde, nur weil er die URL in der Browsereingabezeile nicht sieht? Hoffentlich willst Du nicht auch noch durch "Ausschalten" des Rechtsklicks verhindern, daß man eben diese Url dem Quelltext entnimmt...

            1. Es ist extrem gefährlich, die eigene Ignoranz als Maßstab für sicherheitsrelevantes Programmieren zu nehmen. Glaubst Du wirklich, daß jemand, der oben Beschriebenes von Dir nicht gewolltes nicht machen würde, nur weil er die URL in der Browsereingabezeile nicht sieht? Hoffentlich willst Du nicht auch noch durch "Ausschalten" des Rechtsklicks verhindern, daß man eben diese Url dem Quelltext entnimmt...

              Natürlich will ich nicht den Rechtsklick verhindern.
              Ich versteh auch nicht ganz was das mit Ignoranz zu tun hat wenn man das sog. Session-Hijacking verhindern will, was ich durchaus als Sicherheitslücke deklarieren würde.

              1. Hello,

                Ich versteh auch nicht ganz was das mit Ignoranz zu tun hat wenn man das sog. Session-Hijacking verhindern will, was ich durchaus als Sicherheitslücke deklarieren würde.

                Session-Hijacking kannst Du als "Willi" überhaupt nicht verhindern. Das Internet ist durchaus Hierarchisch organisiert und kontrolliert. Jeder Hansel, der irgendwie Zugriff auf einen Hob hat, kann Deine Pakete rausfischen und mitlesen.

                Es kommt nur darauf an, ob ein Interesse daran besteht.

                Harzliche Grüße vom Berg
                http://www.annerschbarrich.de

                Tom

                --
                Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
                Nur selber lernen macht schlau

  3. Hi,

    Nun weiß ich nicht in welchen Bereich der user als nächstes will - insofern kann ich dem hidden-Formular kein direktes Ziel angeben.

    natürlich kannst Du das.

    Ist das realisierbar mit der Post-Methode bzw. einem hidden-Formular?

    Wenn Du Dir den strikten Unterschied zwischen Dateien und Ressourcen bzw. Dateinamen und URIs - genauer gesagt das völlige Fehlen jedweden Zusammenhangs dazwischen - bewusst machst, dann ist Dir klar, dass ein solches Problem überhaupt niemals existiert. Viel wichtiger ist Deine Frage im Subject[1]. Die Antwort lautet: Ja, das action-Attribut ist im <form>-Element required, was aber nicht das geringste mit PHP zu tun hat.

    Cheatah

    [1] Die dort nicht hin gehört. Das Subject beschreibt das _Thema des Teilthreads_.

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. Hello,

      Die Antwort lautet: Ja, das action-Attribut ist im <form>-Element required, was aber nicht das geringste mit PHP zu tun hat.

      Wie kommst Du darauf?
      Die HTML-Spezifiation verlangt zwar eine bestimmte Form, z.B. eine URL nach RFC1738, die lässt aber nun ausdrücklich "relative Verweise" zu:

      2.3 Hierarchical schemes and relative links

      In some cases, URLs are used to locate resources that contain
         pointers to other resources. In some cases, those pointers are
         represented as relative links where the expression of the location of
         the second resource is in terms of "in the same place as this one
         except with the following relative path". Relative links are not
         described in this document. However, the use of relative links
         depends on the original URL containing a hierarchical structure
         against which the relative link is based.

      Some URL schemes (such as the ftp, http, and file schemes) contain
         names that can be considered hierarchical; the components of the
         hierarchy are separated by "/".

      Wenn also das Action-Attribut nun leer bleibt, bedeutet das, dass die Ressource der Formaction am selben Ort zu suchen ist, wie die letzte (zur Zeit "aktive").

      Das haben wir hier auch schon mal ausführlich diskutiert. Da ging es primär darum, ob im Aktionattribut als einziges ein leerer Anker stehen darf.

      Der Unterschied zwischen einm vollständig leeren Action-Attribut und einem mit '#' besteht darin, dass im ersten Fall auch die (alten) GET-Parameter wieder mitgesendet werden, im zweiten Fall aber nicht.

      Harzliche Grüße vom Berg
      http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau

      1. Hallo Tom.

        Die Antwort lautet: Ja, das action-Attribut ist im <form>-Element required, was aber nicht das geringste mit PHP zu tun hat.

        Wie kommst Du darauf?
        […]
        Wenn also das Action-Attribut nun leer bleibt, bedeutet das, dass die Ressource der Formaction am selben Ort zu suchen ist, wie die letzte (zur Zeit "aktive").

        Cheatah hat nichts Gegenteiliges behauptet.
        Ihm ging es nicht um den Inhalt des action-Attributes sondern um die zwingende Existenz des selbigen.

        Einen schönen Samstag noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/ mathbr:w00t/
        1. Hello,

          Die Antwort lautet: Ja, das action-Attribut ist im <form>-Element required, was aber nicht das geringste mit PHP zu tun hat.

          Wie kommst Du darauf?
          […]
          Wenn also das Action-Attribut nun leer bleibt, bedeutet das, dass die Ressource der Formaction am selben Ort zu suchen ist, wie die letzte (zur Zeit "aktive").

          Cheatah hat nichts Gegenteiliges behauptet.
          Ihm ging es nicht um den Inhalt des action-Attributes sondern um die zwingende Existenz des selbigen.

          *oh, guten Morgen*
          Ich hatte es versehentlich auf den Inhalt des Attributes bezogen.
          Der darf aber durchaus ein Leerstring sein.

          Ok, nun sind die Unklarheiten hoffentlich auch für Andere beseitigt.

          Harzliche Grüße vom Berg
          http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau

  4. Hi,

    Ist das realisierbar mit der Post-Methode bzw. einem hidden-Formular?

    Nimm halt statt einem Formular deren 5 (mit dem jeweils passenden Ziel) zu nehmen (und den Submit-Button als Link zu stylen)?

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!