Stephan Huber: Benötige *sicheres* Script für Loginbereich mit Sessions

Beitrag lesen

Hallo strike,

Nun könnte ich einfach mit Formularen und Variablen arbeiten... allerdings wäre das Ganze dann einfach zu knacken, indem man die Variablen, welche übergeben werden, manipuliert.

Da liegt ein Denkfehler vor. Wenn Du am Anfang jeder Seite überprüfst, ob die Session zu einem gültigen User gehört, und sonst auf ein ganz normales HTML-Login-Formular verweist, wüßte ich nicht, welche Variablen man da böserweise manipulieren sollte. Du darfst nur nicht am Anfang der Seite eine Variable nehmen, die Du nicht initialisierst, z.B.

if(...überprüfung ob session gültig...)
{
  $userok=1;
}
if($userok==1)
{
  //inhalt anzeigen
}else
{
  //redirect auf login
}

Dann kan man an jede url einfach ein &userok=1 anhänge, und vorbei ist es mit dem Schutz. Aber das wird entweder durch ein $userok=0 am Anfang des Skripts beseitigt, oder in neueren php-Versionen durch register_globals=off in der php.ini.

Das einzige Sicherheitsrisiko, das bleibt, ist die Klartextübertragung von Username und Passwort über HTTP, wo immer jemand mitlesen kann. Das läßt sich durch HTTPS vermeiden. Bei der phplib gibt es auch einen Modus namens "Challenge-Response-Authentication", wo die Übertragung des Passworts im Klartext verhindert wird, das funktioniert aber nur mit Javascript.

Viele Grüße
Stephan