Space Vampire
Senior HTML'ler
Vielleicht habt ihr lust das mal zu begutachten.
Ich hab mir da einen privaten Bereich mit doppelter absicherung geschrieben.
Es funktioniert alles so weit.
Hätte aber gerne eure Meinung zur Sicherheit des Scriptes.
Im ersten Teil wird geprüft, ob bereits das Passwort angesendet wurde oder nicht und entsprechend das Eingabefeld gezeigt, oder geprüft ob das Passwort korrekt ist.
Wenn das Passwort korrekt ist, wird zusätzlich ein zufalls-$key generiert, der vor dem Aufruf der privaten Inhalte dann überprüft wird.
dieser zufalls-$key ist die einzige erlaubte ?site=
Alle anderen URL-Anhänge werden nicht akzeptiert.
Von meiner warte aus betrachtet, scheint das ziemlich sicher zu sein. So sicher es eben ohne DB geht :)
Seht ihr irgendwo nen groben Schnitzer, oder kann man das als zureichend verbuchen?
Ich hab mir da einen privaten Bereich mit doppelter absicherung geschrieben.
Es funktioniert alles so weit.
Hätte aber gerne eure Meinung zur Sicherheit des Scriptes.
Im ersten Teil wird geprüft, ob bereits das Passwort angesendet wurde oder nicht und entsprechend das Eingabefeld gezeigt, oder geprüft ob das Passwort korrekt ist.
Wenn das Passwort korrekt ist, wird zusätzlich ein zufalls-$key generiert, der vor dem Aufruf der privaten Inhalte dann überprüft wird.
dieser zufalls-$key ist die einzige erlaubte ?site=
Alle anderen URL-Anhänge werden nicht akzeptiert.
Von meiner warte aus betrachtet, scheint das ziemlich sicher zu sein. So sicher es eben ohne DB geht :)
Seht ihr irgendwo nen groben Schnitzer, oder kann man das als zureichend verbuchen?
PHP:
<?php
$passwort = "testpass";
if($_GET['site']==""){
if (isset($_POST["go"])) {
if ($_POST["name"] == $passwort) {
$key = rand(1000000000000000, 9000000000000000);
echo '<form action="login.php?site='.$key.'" method="post" style="text-align: center">';
echo '<input type="hidden" name="key" value="'.$key.'">';
echo '<input type="submit" name="go" value="Anmeldung Erfolgreich - Weiter">';
echo '</form>';
}
else {
echo '<p><b>Falsches Passwort!</b><br>';
echo '<a href="login.php">Zurück zur Anmeldung</a></p>';
}
}
else{
echo 'Anmeldung<hr>';
echo '<form action="login.php" method="post" style="text-align: center">';
echo '<br>';
echo '<br>';
echo '<input type="Password" name="name">';
echo '<input type="Submit" name="go" value="Einlogen">';
echo '</form>';
}
}
else if($_GET['site']== $_POST['key']){
echo 'PRIVATE INHALTE';
}
else{echo 'Falscher Site-Key';}
?>