Html Inkognito link? Passwortschutz Javascript?

3 Antworten

Du solltest Webseiten auf keinen Fall so programmieren, dass sensible Daten in der URL landen! In deinem Skript müsste das Passwort gehasht werden (zum Beispiel mittels SHA256 und auch mittels Salting) und dieser Hash zur Überprüfung an den Server gesendet werden.

Hast du keinen Server, dann gleiche den Hash in deinem Skript mit dem richtigen Hash (den du dir auf die gleiche Weise berechnest) ab. Hashes sind zwar eigentlich als Einwegverschlüsselungen konzipiert, aber sicherheitshalber solltest du auch die richtigen Hashes verschlüsselt (AES) speichern ...

Einen Zugriffschutz realisiert man keinesfalls mit Javascript! Dieses fehlerhafte Konzept nennt man security through obscurity. Besser realisiert man einen solchen Schutz via .htaccess-Datei, die ins entsprechende Verzeichnis gestellt wird:

AuthType Basic
AuthName "Passwortschutz"
AuthUserFile /hier/der/serverpfad/zur/passwortdatei/.htpasswd
require valid-user

Die Passwortdatei .htpasswd sieht so aus (Im Beispiel ist der User demo und das Passwort ebenfalls demo):

demo:$apr1$3aTCMNEz$oHHW3.0jrADySa0dwVuf6/

Alex

Danke :-) auch für den quellcode, behersche php nähmlich nicht wirklich ;)

0
@53645364

Der dortige Text ist kein PHP. Es sind einfach nur Konfigurationen in Dateien, die vom Webserver beachtet werden.

1
@53645364

Das ist nicht PHP. Das ist eine Anweisung an Deinen Apache-Webserver, niemanden ins Verzeichnis zu lassen, der Benutzername und Passwort nicht kennt.

Mit PHP würde man das anders lösen. Eine einfache Lösung zum Schutz einer einzigen Datei könnte z. B. so aussehen:

Die Seite zur Passwortabfrage:

<!doctype html>
<title>Passwortschutz</title>
<form action="geheimdatei.php" method ="post">
<input type="password" name="pw">
<input type="submit">
</form>

Die geheime Datei mit Namen geheimdatei.php

<?php if($_POST['pw'] == 'DAS_PASSWORT') { ?>
  <!-- hier das HTML, wenn's Passwort stimmt -->
<?php } else { ?>
  <p>Du komms' hier nich' rein</p>
<?php } ?>
0

Was möchtest Du wissen?