Moin,
Ich hab mal den entscheidenden Code hier dargestellt:
… der nicht nur mit ~~~
, sondern ~~~php
sogar farbig wird …
$a_auth = file("tn-auth", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
- Was passiert, wenn die Datei aus irgendeinem Grund nicht gelesen werden kann?
- Liegt die Datei im gleichen Verzeichnis wie dein Skript und ist beides von außen zugreifbar? Kann ich also in der Adresszeile des Browsers einfach den Namen deines Skripts durch
tn-auth
ersetzen und bekomme dann die Datei angezeigt?
if (trim($a_auth[0]) == "tn-auth")# Dateiprüfung
Was soll das genau prüfen?
{ foreach ($a_auth as $s_auth) { # $x[0] = Anmeldename, $x[1] = Passwort $x = explode("↔", $s_auth, 2); if (count($x) < 2) continue; $b_name = trim($aa_post["bname"]) == trim($x[0]); $b_pass = trim($aa_post["pass"]) == trim($x[1]); # Nutzername/Passwort prüfen, Nutzer/Zeit speichern if ($b_name && $b_pass)
An dieser Stelle stimmen also „bname“ und „pass“ mit den Werten aus der Datei überein. Warum musst du jetzt noch einmal durch alle Nutzer iterieren?
{ foreach ($a_user as $s_user) { $patt = '/name_nutzer_b64↔(.+)(?:\s.+)*\szugang_b64↔'.$x[0].'/m';
Ist sichergestellt, dass in $x[0]
nichts steht, dass hier deinen regulären Ausdruck stören kann?
An die error.log auf dem Server komme ich vermutlich nicht 'ran, ich frage aber mal nach.
Aber das error_reporting und Prüfen von Rückgabewerten kannst du in deinem Script tun.
Viele Grüße
Robert