Variablen aus externen Dateien auslesen?

pycak

Mitglied
Hallo!
Habe folgendes Problem: Ich möchte auf meiner HP einen pass. geschützten Bereich erstellen und die Passwörter als Variablen (für mehrere Admins) sollen in einer externen Datei gespeichert werden.
Frage 1: Wie rufe ich diese Variablen zur Überprüfung auf? In C/C++ muss man bestimmte Dateien includen. Ist es auch der Fall in PHP?
Frage 2: Wie kann ich diese Variablen überschreiben? Wenn in der Datei z. B. folgendes steht:

$pass = "pass";

Wie überschreibe ich nur das "pass", ohne dabei das $pass und/oder den Ganzen Inhalt der Datei zu löschen?

Danke!
 
Prinzipiell würde ich dir bei deinem Vorhaben ne Datenbank wie MySQL ans Herz legen. Darin solltest du die Passwörter (am besten in verschlüsselter form [sha1]) speichern.

Wie genau das funktioniert kannst du alles wunderbar bei php.net nachlesen.

Natürlich kannst du auch Daten in Dateien schreiben und auch wieder auslesen. Dafür gibt es Funktionen wie fwrite o.ä.
Auch hier hilft dir php.net weiter.


Wenn du nur einzelne Ordner schützen möchstest, kann ich dir auch htaccess ans Herz legen. (Informationen hierzu gibt bei apache.org)
 
Iwo is doch alles zu kompliziert.

Nenn einfach irgendne Datei passes.res oder irgendein anderes erfundenes Kürzel am ende.

In die Datei dann die Passwörter mit:
PHP:
$pass1 = "Wurst";
$pass2 = "Wurst2";
...

So dann machst du in der Datei in der du die Passwörter brauchst:

PHP:
include("passes.res");

Dann hast du die Passwörter in der Datei unter den oben angegebenen Variablennamen verfügbar. Generell gilt, wenn du Variablen umbenennst in einer anderen Datei, hat das keine Auswirkung auf die geladene Datei sondern ist nur temporär.

Für dich als Anfänger reicht diese Art, aber wie n00ne schon gesagt hat, schau dir lieber ein paar Tuts an und mach es gleich richtig. Aber zum experimentieren ist das so auch oke.
 
Das mit der passes.res tust du um Gottestwillen nicht!

Mach mal spaßeshalber eine Datei namens passes.res und schreib, wie beschrieben, ein paar Pseudopasswörter rein. Lade die Datei hoch und ruf die dann mal im Browser auf. Also á la:
http://www.example.com/passes.res

Und, was siehst du da?! Richtig, die Passwörter im Klartext !


Wenn du dennoch diese einfach Lösung verwenden möchstest, dann nenn die Datei wenigsten passes.php. Denn nur so kannst du sicherstellen, dass der Inhalt (im Normalfall) nicht angezeigt wird.

PS
Was mir auch gerade auffällt: In der passes.res (oder eben besser passes.php) fehl <?php und ?>
Das muss rein, sonst funktioniert das include nicht so, wie du willst.
 
Zurück