2012-10-30 20 views
6

übergeben Ich brauche eine Möglichkeit, eine Variable zwischen zwei Seiten auf sichere Weise übergeben.Der sicherste Weg, Variablen zwischen zwei Seiten mit PHP

Ich weiß, dass ich verwenden kann POST/GET/Plätzchen/Session oder Feldern versteckt, aber ich glaube, keiner dieser Wege nicht sicher genug sind, weil:

get in der URL werden kann
gesehen Cookies a Client-Seite, so dass es Wechsel von Client
Sitzung sein kann Session ID Hijacking konfrontieren und ...

Jetzt weiß ich mag, ist es eine andere Art und Weise besser als diese Art und Weise, und wenn es nicht Hexe davon ist die beste Möglichkeit, Variablen auf sichere Weise zu übergeben;

+7

Sitzungen. Wenn du ihnen nicht vertraust, dann denke ich, dass du keine Optionen mehr hast. – Crontab

+1

Sitzungen sind Ihr Freund auf PHP (serverseitig)/Alternative werfen Sie einen Blick in den HTML5-Web-Speicher http://www.w3schools.com/html/html5_webstorage.asp – donald123

+2

Definitiv Sitzungen. Interessierte lesen: http://cleverlogic.net/tutorials/session-hijacking-0. – alexn

Antwort

10

Sitzung ist die sicherste Methode, die Sie zur Verfügung haben.

Session ID Regeneration hilft gegen Session Hijacking, aber SSL über https wird wirklich davor schützen.

BTW: Wenn die Sitzung entführt wird und Sie Benutzerdaten zum Client anzeigen, ist es egal, wie Sie die Daten auf die zweite Seite bekommen haben, der Hijacker wird es sehen. Wenn Sie es nur Server-Seite verwenden, wird der Hijacker es nicht sehen.

+0

regenerierende Sitzungs-ID wäre hilfreich, um das Abhören nur zu verhindern, wenn TLS nach dem Login-Abschnitt ausgeführt wird. Wenn die neu generierte ID vom Browser kopiert und dann in einem anderen Browser abgespielt wird, nehme ich an, dass die Anmeldung immer noch unabhängig von TLS erfolgt. –

3

Passing Variablenwerte zwischen den Seiten-Sitzung verwenden, ist das sicherste

und Regenerieren der Session-ID von session_regenerate_id, wenn die Sicherheitsstufe Änderungen (wie zB Anmeldung). Sie können die Sitzungs-ID sogar bei jeder Anfrage neu generieren, wenn Sie möchten.

Good Read

PHP Security Guide: Sessions

0

Es ist nichts falsch mit GET - solange sie richtig desinfiziert werden ... können Sie immer mit einem Hash der Parameter kombinieren bekommen das Risiko von reduzieren manipuliert werden, zusammen mit der Verwendung von Sitzungen, um sicherzustellen, dass sie auch legitim sind.

1

seit Sitzung ist Server-Seite, es ist die sicherste Art und Weise die Variablen passieren und Session-Hijacking zu verhindern, können Sie session_regenerate_id Funktion in php das Handbuch verwenden: http://php.net/manual/en/function.session-regenerate-id.php

aber das bedeutet nicht, dass Sie immer verwenden Sitzungen, Variablen übergeben können Sie immer noch Cookies verwenden, aber verschlüsseln Sie die Daten vor dem Speichern in den Cookies.

Verwandte Themen