Datei auf dem Server "sicher" speichern!

Hallo Leute,

ich habe eine Frage:

Ich habe mir ein einfaches Authentifikationsscript geschrieben, das ein Passwort, dass vom User eingegeben wird überprüft und dann mit einer if/else Funktion zwischen zwei Möglichkeiten auswählt. Wenn das Passwort falsch ist wird ein Link angezeigt, der wieder zurück auf die Startseite führt. Wenn das Passwort aber richtig ist, soll eine Liste mit Links über include() eingelesen werden. Und jetzt zur eigentlichen Frage, wie kann ich die Datei so umbennen oder schützen, das nur das Script die Datei öffnen kann und man nicht über direkte Pfadangabe auf die Datei zugreifen bzw. die Datei downloaden kann? Den sonst wäre das ganze mit dem authentifizieren ja ziemlich sinnlos. :slight_smile:

Danke

Amityville

Erstmal speicherst du das Kennwort verschlüsselt und nicht
im Klartext. Vor dem Vergleich verschlüsselst du die Eingabe
genauso und vergleichst dann das Ergebnis.
Sellbst wenn jemandem sowas in die Hände fällt, ist es mit
ziemlichem Aufwand verbunden, nicht triviale Kennwörter
zu raten, die solch eine Einwegverschlüsselung hinter sich haben.

Die Datei selbst kannst du in ein Verzeichnis stecken, welches
du per .htaccess schützt. Zudem kannst du für Datei- und
Verzeichnisnamen etwas wählen, was mit ‘.ht’ beginnt.
Auf dies kann man dann immer noch per PHP zugreifen, aber
nicht mehr direkt per HTTP.

[quote=“hoffmann”]Erstmal speicherst du das Kennwort verschlüsselt und nicht
im Klartext. …

Die Datei selbst kannst du in ein Verzeichnis stecken, welches
du per .htaccess schützt. Zudem kannst du für Datei- und
Verzeichnisnamen etwas wählen, was mit ‘.ht’ beginnt.
Auf dies kann man dann immer noch per PHP zugreifen, aber
nicht mehr direkt per HTTP.[/quote]

Ok der erste Teil ist mir klar, ich habe mein Passwort mit sha1() verschlüsselt und dass verschlüsselte in den php teil des Scripts geschrieben zum Vergleich mit dem ankommenden String.

wie schütze ich etwas mit .htaccess, denn wenn ich die Datei dann “.linkliste” nenne kann ich diese auf meinen xampp server daheim immer noch über den Direktlink aufrufen?

Eine Datei names .htaccess kopierst du in jenes Verzeichnis,
in welches niemand per HTTP zugreifen soll.
Dort schreibst du rein:
‘Order deny,allow
Deny from all’

In dasselbe Verzeichnis speicherst du die Datei mit dem
verschlüsselten Kennwörtern, bevorzugt mit einem Namen wie
’.htmerke’ oder sowas (habe ich selbst nicht getestet, aber
eigentlich sollte solche Dateien der Apache sowieso nicht
per HTTP ausliefern, wenn sie mit ‘.ht’ beginnen).

Aufgrund obiger Angaben in der Datei .htaccess sollte man auf
keine Datei in dem Verzeichnis oder in Unterverzeichnissen davon
mehr zugreifen können, sonst ist wohlmöglich das apache-Modul
dafür nicht aktiviert.

Auf deinem eigenen Rechner/server sollte das genauso gehen,
wenn es ein Apache ist (ist ja wohl der Fall bei xampp), muß
eben nur das Modul aktiviert haben, welches .htaccess
verarbeitet. Da kannst du mal in die Konfigurationsdateien
gucken, gegebenenfalls mußt du das auf deinem test-server
erst aktivieren, bevor das funktioniert.

[quote=“hoffmann”]Eine Datei names .htaccess kopierst du in jenes Verzeichnis,
in welches niemand per HTTP zugreifen soll.
Dort schreibst du rein:
‘Order deny,allow
Deny from all’

In dasselbe Verzeichnis speicherst du die Datei mit dem
verschlüsselten Kennwörtern, bevorzugt mit einem Namen wie
’.htmerke’ oder sowas (habe ich selbst nicht getestet, aber
eigentlich sollte solche Dateien der Apache sowieso nicht
per HTTP ausliefern, wenn sie mit ‘.ht’ beginnen).

Aufgrund obiger Angaben in der Datei .htaccess sollte man auf
keine Datei in dem Verzeichnis oder in Unterverzeichnissen davon
mehr zugreifen können, sonst ist wohlmöglich das apache-Modul
dafür nicht aktiviert.

Auf deinem eigenen Rechner/server sollte das genauso gehen,
wenn es ein Apache ist (ist ja wohl der Fall bei xampp), muß
eben nur das Modul aktiviert haben, welches .htaccess
verarbeitet. Da kannst du mal in die Konfigurationsdateien
gucken, gegebenenfalls mußt du das auf deinem test-server
erst aktivieren, bevor das funktioniert.[/quote]

Ok soweit funktioniert das jetzt alles ich hab die Datei in den HTACCESS geschützten Ordner kopiert .htlinks genannt und getestet auf meinen Testserver daheim, funtkioniert. Jetzt aber noch eine letzte Frage zu diesem Thema, wenn ich jetzt versuche auf das Verzeichniss zuzugreifen, kommt ja “404 Zugriff verweigert” kann ich irgendwie meine eigene “404”-Fehlerseite verwenden, der Optik zuliebe, wenn ja wie? Und Vielen Dank für die schnellen Antworten

Auch das geht per htaccess:

drweb.de/htaccess/404error.shtml

[quote=“janbender”]Auch das geht per htaccess:

drweb.de/htaccess/404error.shtml[/quote]

Vielen Dank jetzt hab ich alles was ich brauch -.-"

Bei eigenen Fehlerseiten soll man doch von bplaced den layer einbinden oder so?

mfg

:smiley: