Moin!
Da ist keine große Verarbeitungslogik dahinter. Wenn die Session ID per GET übergeben wird, ist sie sehr leicht zu verändern. Trägt da jetzt jemand {ä&123$%}1212 ein, gibts einen Fehler, dass ungültige Zeichen enthalten sind.
Ja und? Wer so manipuliert, der muß sich nicht wundern, oder? Abgesehen davon: Welche Fehlermeldung kommt tatsächlich? Die Session-ID ist zeichenmäßig nämlich absolut nicht beschränkt auf Hexzahlen, da kann im Prinzip alles drinstehen, wenn man will.
Natürlich kann auch die Session ID per POST oder Cookie verändert werden, ist aber eben nicht so einfach.
Eben genau deswegen gibts ja den eingebauten Session-Mechanismus von PHP, der sehr gut funktioniert.
ir ist bis jetzt folgender Lösungsweg eingefallen: $_REQUEST['sid'] per preg_match prüfen, stimmt was nicht wird $_REQUEST['sid'] = '' gesetzt. Ist das eine gute Lösung?
Nein, das ist keine gute Lösung, weil du nicht weißt, ob PHP die Session-ID überall unter dem Parameter "sid" anhängt. Manche nutzen auch "PHPSESSID", andere noch ganz was anderes.
- Sven Rautenberg