Mailinglisten-Archive |
Ringo Großer schrieb:
> Hallo Liste,
>
> ich habe mit PHP einen geschützten Bereich gebaut, welcher
> über eine Authorisierung per Session zu erreichen ist. Also der
> User gibt Benutzernamen und Passwort ein, beides wird gegen
> seinen Account in der DB geprüft, danach erfolgt der Login per
> Schalter in seiner Session.
> Im geschützten Bereich kann der User u.a. auch seinen Punktestand
> abrufen, eine Art Bonuspunkte für seine Teilnahme.
>
> [...]
>
> Das betreffende Suchergebnis zeigt einen Link zu meiner Seite
> inklusive des GET-Parameters PHPSESSID, [...]
du kannst jetzt lange darüber spekulieren wie diese ID dahin gekommen,
denn wie aus den anderen Kommentaren schon zu erkennen gibt es da ein
Vielzahl an Möglichkeiten.
Viel Wichtiger ist was du dagegen tun kannst:
Session-ID nur per Cookie verwenden: Benutzer die Cookies für so etwas
ablehnen sind paranoid und das widerspricht dem übertragen der
Session-ID per URL ja erst recht - also ist diesen Benutzern eh am
besten geholfen sie kommen gar nicht rein!
Ändern der Session-ID:
http://php.net/session_regenerate_id
nach jedem Session-Start
selbst wenn jetzt jemand die Session übernehmen will, kommt entweder
beim richtigen oder beim falschen User eine Meldung über eine ungültige
Session-ID - was du damit machst ist kann deiner Fantasy überlassen ...
Sichern der Session ID:
session.cookie_httponly boolean
Marks the cookie as accessible only through the HTTP protocol. This
means that the cookie won't be accessible by scripting languages, such
as JavaScript. This setting can effectively help to reduce identity
theft through XSS attacks (although it is not supported by all browsers).
session.hash_function = 1
"session.hash_function integer
session.hash_function allows you to specify the hash algorithm used to
generate the session IDs. '0' means MD5 (128 bits) and '1' means SHA-1
(160 bits). Note: This was introduced in PHP 5."
session.hash_bits_per_character = 6;
"session.hash_bits_per_character integer
session.hash_bits_per_character allows you to define how many bits are
stored in each character when converting the binary hash data to
something readable. The possible values are '4' (0-9, a-f), '5' (0-9,
a-v), and '6' (0-9, a-z, A-Z, "-", ","). Note: This was introduced in
PHP 5."
--
Sebastian Mendel
www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive