Rafael: Formulare und Sessions manipulieren

Ich frage mich gerade in wie weit es einem Webseitenbesucher möglich ist Webseiten zu manipulieren.

Zum Beispiel hidden-input Felder, denen ja ein Wert zugewiesen ist. Gibt es eine Möglichkeit mit einem dafür geschaffenen Browser diese Felder zu manipulieren oder wird das Serverseitig kontrolliert?

Und wie sieht es mit Sessions aus, die ja auch beim Klienten gespeichert sind? Kann ein Besucher meiner Webseite Eine Session-Variable wie $_SESSION['login']==false auf true ändern ohne das mit dem Server "rückgesprochen" zu haben?

  1. Zum Beispiel hidden-input Felder, denen ja ein Wert zugewiesen ist. Gibt es eine Möglichkeit mit einem dafür geschaffenen Browser diese Felder zu manipulieren oder wird das Serverseitig kontrolliert?

    Klar geht das, darum ist ja die serverseitige Logik so wichtig. Traue nie dem Client.

    Und wie sieht es mit Sessions aus, die ja auch beim Klienten gespeichert sind? Kann ein Besucher meiner Webseite Eine Session-Variable wie $_SESSION['login']==false auf true ändern ohne das mit dem Server "rückgesprochen" zu haben?

    Das geht nicht. Der Server weiss, ob jemand authentifiziert und damit autorisiert ist.

    Aber Du kannst ja mal versuchen Dich in eine bestehende Sitzung hineinzuraten (über die SessionID). ;)

    1. Zum Beispiel hidden-input Felder, denen ja ein Wert zugewiesen ist. Gibt es eine Möglichkeit mit einem dafür geschaffenen Browser diese Felder zu manipulieren oder wird das Serverseitig kontrolliert?

      Klar geht das, darum ist ja die serverseitige Logik so wichtig. Traue nie dem Client.

      Hi,
      also muss ich auch hidden Feld bei der Rückgabe wieder überprüfen?
      Wie mache ich das am besten?

      Sg Stefan

      1. also muss ich auch hidden Feld bei der Rückgabe wieder überprüfen?
        Wie mache ich das am besten?

        Defensiv programmieren und alle eingegangen Variablenwerte (auch die "versteckten" ;) mit der Dir zur Verfügung stehenden serverseitigen Logik umfassend (und ich meine umfassend) prüfen bevor diese weiterverarbeitet werden.

        1. Randnotiz: Opera beherrscht das "laden aus dem cash"+quelltextanzeige , es ermöglicht zB die "vote 1 2 3 "enter" und änliches umzugehen ;)

          --
          __________________________-
          Menschen an sich , sind nicht schlecht - es sind nur ihre Taten (c).
      2. also muss ich auch hidden Feld bei der Rückgabe wieder überprüfen?
        Wie mache ich das am besten?

        na am besten nur so wenig parameter wie noetig uebergeben und den rest dann serverseitig holen. also wenn du z.b. ein warenkorbsystem hast und der kunde kann einen artikel in den warenkrob legen, dann z.b. die warenkorb.php nur mit einem parameter artikel_id=123 und menge=1 aufrufen, und nicht z.b. warenkorb.php?artikel_id=123&menge=1&preis=99.00 - sowas kann halt jeder manipulieren, selbst wenn du es mit hidden oder per post "versteckst", daher also auf der warenkorb.php nochmal intern den preis fuer artikel 123 abfragen.

        waere natuerlich einfacher zu erklaeren wenn man wuesste was du genau machen willst...

        1. Hi,
          im Prinzip habe ich nur eine Webseite, bei der der USer Kommentare zu Bildern eingeben kann. Dazu (und ab und an im Admin Bereich) nutze ich hidden. Die Hidden aber immer nur zu den auszuführenden Aktionen (save, delete, update), die Werte übergebe ich aus den Formularen.
          Werde da noch einmal nachbessern...
          Sg Stefan

  2. hi,

    Zum Beispiel hidden-input Felder, denen ja ein Wert zugewiesen ist. Gibt es eine Möglichkeit mit einem dafür geschaffenen Browser diese Felder zu manipulieren

    "Dafür geschaffen" ist bereits jeder Browser, der Javascript in Grundzügen versteht - damit kann ich problemlos auf Formularelemente zugreifen, und ihren Inhalt manipulieren.

    oder wird das Serverseitig kontrolliert?

    Ja, hoffentlich.

    Und wie sieht es mit Sessions aus, die ja auch beim Klienten gespeichert sind?

    Auf dem Client wird höchstens die Session-ID gespeichert, mit der der Server Anfragen diesem Client zuordnen kann.
    Die Session-Daten werden auf dem Server abgelegt.

    Kann ein Besucher meiner Webseite Eine Session-Variable wie $_SESSION['login']==false auf true ändern ohne das mit dem Server "rückgesprochen" zu haben?

    Wenn register_globals auf on steht und unsauber programmiert wurde, u.U. ja.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  3. Hi,

    Ich frage mich gerade in wie weit es einem Webseitenbesucher möglich ist Webseiten zu manipulieren.

    Zum Beispiel hidden-input Felder, denen ja ein Wert zugewiesen ist. Gibt es eine Möglichkeit mit einem dafür geschaffenen Browser diese Felder zu manipulieren oder wird das Serverseitig kontrolliert?

    ich könnte mir Dein Formular z.B. einfach nachbauen bzw.
    kopieren, die hidden fields verändern, Deine Action aber
    so belassen :-) Das geht quasi mit jedem Browser.
    Serverseitige Kontrolle heißt: Das Script, das die Daten
    verarbeitet, muss das kontrollieren.