Honda: $_GET

Hallo,

ich gebe auf einer Seite im Mitgliederbereich Daten mittels an den jeweiligen Link angehängtem "?" also $_GET weiter,... die angehängten Daten sind hierbei teilweise sensitiv wie etwa Email-Adresse, Passwort, etc..

Problem: Wenn man mit der Maus über den Link fährt (an den mittels "?" die Daten angefügt wurden) kann jeder diese Daten erkennen und weiss somit die Email-Adresse des anderen Mitglieds.

Wie kann ich dies unterdrücken?
Bzw. wie kann ich anders (besser) vorgehen?

Vielen Dank für Hilfe,
Honda

  1. Hi,

    na ja, also zunächst mal, egal ob per GET, POST oder wie auch immer, alle Daten die du an den Client schickst kann man mit mehr oder weniger Arbeit auslesen. Sensitive Daten sollten daher eigentlich nicht zum Nutzer übermittelt werden, wenn sie ihn nichts angehen. Wenn du trotzdem darauf verweisen willst, dann anonymisiere die Daten, z.B. in dem du dem Aufruf nur eine ID beifügst. Wenn dir jemand eine ID schickt überprüfst du zunächst mal, ob ihn das überhaupt was angeht und wenn ja guckst du die entsprechenden Daten nur auf dem Server nach.

    MfG
    Rouven

    --
    -------------------
    ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
    1. Hi,

      Hallo,

      der Grund warum ich die Daten mittels GET weitergebe ist dass ich mir Datenbankabfragen ersparen möchte.... da ich dieselben Daten auf der nächsten Seite wieder brauche.

      Honda

      1. Hallo,

        der Grund warum ich die Daten mittels GET weitergebe ist dass ich mir Datenbankabfragen ersparen möchte.... da ich dieselben Daten auf der nächsten Seite wieder brauche.

        Honda

        Dann speicher die Daten doch in einer Session. Is sehr einfach zu handhaben und du brauchst die Daten nicht immer an die URL Anhängen.

        MfG
        Dirk

        1. Hallo,

          Dann speicher die Daten doch in einer Session. Is sehr einfach zu handhaben und du brauchst die Daten nicht immer an die URL Anhängen.

          das ist die eine Möglichkeit (wobei ich das nur bei 1-2 Datensätzen empfehlen würde, sonst werden die Sessions so riesig). Die andere: Nimm halt verdammt nochmal die Datenbank. Die ist schon dafür gemacht ständig Daten rauszugeben. Egal ob du die Daten jetzt zweimal hintereinander brauchst oder nicht. Solche Abfragen fressen auch nicht allzu viel Zeit. Und je nach Datenmenge freut sich der Benutzer auch, wenn sein Browser nicht ständig Unmengen von Daten durch die Welt schicken muss.

          MfG
          Rouven

          --
          -------------------
          ss:) zu:) ls:& fo:) de:< va:{ ch:? sh:) n4:( rl:? br:$ js:| ie:) fl:(
        2. Dann speicher die Daten doch in einer Session. Is sehr einfach zu handhaben und du brauchst die Daten nicht immer an die URL Anhängen.

          Hallo,

          das mache ich dann auf der nächsten Seite.

          Da es sich um eine Liste von Namen (Mitglieder) handelt, kann ich die Session (für z.B. die entsprechende E-Mail-Adresse des Mitglieds) erst erzeugen, wenn jemand auf den jeweiligen Namen klickt, d.h. auf der nächsten Seite (des Profils des jeweiligen Mitglieds).

          Die Daten gebe ich in diesem Schritt per $_GET mit.

          Bin aber für bessere Lösungsvorschläge sehr dankbar....

          MfG
          Dirk

          1. hi,

            Da es sich um eine Liste von Namen (Mitglieder) handelt, kann ich die Session (für z.B. die entsprechende E-Mail-Adresse des Mitglieds) erst erzeugen, wenn jemand auf den jeweiligen Namen klickt, d.h. auf der nächsten Seite (des Profils des jeweiligen Mitglieds).

            das heißt, auf der ertsen seite reicht es vollkommen aus, wenn du ausschließlich die namen aus der DB ausliest - sämtlicher anderer kram interessiert ja noch überhaupt nicht.

            den namen kannst du dann auch problemlos per GET ans folgescript übergeben - wenn du die namen als liste anzeigst, wird es ja wohl auch kein sicherheitsproblem darstellen, einen davon per link zu übergeben.

            im nachfolgenden script liest du dann den kompletten datensatz (bzw. das, was du davon brauchst) aus der DB aus, der zu diesem namen gehört.

            Bin aber für bessere Lösungsvorschläge sehr dankbar....

            klang so, als ob du bisher erst mal einfach _alles_ ausliest, was die DB so herzugeben hat - das ist natürlich grober unfug.

            mit der oben geschilderten lösung brauchst du dir auch keine sorgen wegen der performance zu machen - das ist der allgemein gebräuchliche weg, also zigtausendfach bewährt ;-)

            gruß,
            wahsaga

            --
            /voodoo.css:
            #GeorgeWBush { position:absolute; bottom:-6ft; }
      2. Hallo!

        der Grund warum ich die Daten mittels GET weitergebe ist dass ich mir Datenbankabfragen ersparen möchte.... da ich dieselben Daten auf der nächsten Seite wieder brauche.

        Du musst Dich halt entscheiden was Dir wichtiger ist. Wenn Du die DB-Abfrage sparen willst musst Du die Daten schon vorher übertragen und die werden somit sichtbar. Du solltest nur die Daten an den Client übertragen, die er auch sehen darf.

        In den meisten Fällen würde ich das unter unnötiger Mikro-Optimierung abhaken. Wenn Du diese Einsparung wirklich brauchst, würde ich die Daten per mcrypt verschlüsselt übertragen, evtl. auch per Cookie. Ist aber wie gesagt in den seltensten Fällen sinnvoll, wird z.B. verwendet um DB-Abfragen von vielen Servern hinter einem LoadBalancer auf einen (verhältnismäßig kleinen) gemeinsamen DB-Server zu verhindern.

        Grüße
        Andreas

        --
        SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/
  2. Hi,
    wieso machst du es nicht mit der $_POST Methode?

    Hallo,

    ich gebe auf einer Seite im Mitgliederbereich Daten mittels an den jeweiligen Link angehängtem "?" also $_GET weiter,... die angehängten Daten sind hierbei teilweise sensitiv wie etwa Email-Adresse, Passwort, etc..

    Problem: Wenn man mit der Maus über den Link fährt (an den mittels "?" die Daten angefügt wurden) kann jeder diese Daten erkennen und weiss somit die Email-Adresse des anderen Mitglieds.

    Wie kann ich dies unterdrücken?
    Bzw. wie kann ich anders (besser) vorgehen?

    Vielen Dank für Hilfe,
    Honda

    1. Hallo,

      ich versende die Daten als Link (<a href..)
      dabei hänge ich 5 Daten mittels "?,.... &" an...

      Durch Klick auf den Link kommt man auf die entsprechende Mitgliedsseite des Users.

      Mittels Post müsste ich doch einen Button haben auf den geklickt wird,... oder sehe ich das falsch?

      Honda