Robert Bienert: Passwortschutz

Beitrag lesen

Moin!

Ich habe den Zugang zu Internetseiten mit einem Passwortschutz versehen. Das Passwort konnte man sich selbst erstellen.

Mit Hilfe des folgenden Codes oder auf einem anderen Weg?

Benutzernamen:

<input name="benutzername" value="<?php echo htmlspecialchars(stripslashes($benutzername)); ?>" maxlength="10">

Passwort:
<input name="passwort" type="password" value="<?php echo htmlspecialchars(stripslashes($passwort)); ?>" maxlength="10">

<input type="submit" name="submit" value="Einloggen">


>   
> Wie sicher ist das ?  
  
Auf die Ausgabe des Passwortes solltest du verzichten: Im Formularfeld stehen zwar nur Sternchen, allerdings steht das Passwort im Klartext im HTML-Code der Seite:  
  
~~~php
$passwort = 'streng geheim';  
  
// Damit ergibt dieser Code  
Passwort: <input name="passwort" type="password" value="<?php echo htmlspecialchars(stripslashes($passwort)); ?>" maxlength="10">  
// folgende HTML-Ausgabe:

Passwort: <input name="passwort" type="password" value="streng geheim" maxlength="10">

Wer also einen Blick in den HTML-Code wirft, erhält so das Passwort. Dieser Blick kann dabei auch durchaus auf einem Proxy-Server im Internet passieren, verzichte also darauf.

Weiterhin ist dein Formular nicht gegen Cross-Site Scripting geschützt:

$benutzername = '"><strong>gehackt</strong>';  
  
// Damit ergibt dieser Code  
Benutzernamen: <input name="benutzername" value="<?php echo htmlspecialchars(stripslashes($benutzername)); ?>" maxlength="10">  
// folgende HTML-Ausgabe:

Benutzernamen: <input name="benutzername" value=""><strong>gehackt</strong>" maxlength="10">

Aus diesem Grund möchtest du außerdem die Funktion htmlspecialchars benutzen.

Viele Grüße,
Robert