EKKi: Benutzer aus htacces Datei löschen

Beitrag lesen

Mahlzeit MaximilianK,

$fp=fopen ("../../../htaccess/user/.htpasswd","w"); //öffnen der .htpasswd zum schreiben

Das verstehe ich jetzt nicht ganz. file () läd die .htpasswd in ein Array (löscht meines Wissens nichts - oder?)

Das nicht - aber fopen('foobar', 'w') löscht (effektiv) den Inhalt der Datei. Und wenn jetzt genau kurz nach diesem Moment ein anderer Benutzer dieses Skript aufruft? Richtig: dessen "Version" versucht mittels file() den Inhalt einzulesen und findet ... genau nix.

Eine klassische Race Condition ... lies und lerne.

Mit count gehe ich nun durch das Array und zähle die Schlüssel, um zu ermitteln wie oft ich durch die Schleife muss und Feld für Feld prüfen, ob der Feldinhalt der Eingabe entspricht.

Ja, wenn *EIN* Benutzer dieses Skript *EINMAL* zur gleichen Zeit startet.

Hmm, meine Datei ist aber nicht leer. Sie beinhaltet nun die Benutzer (kommend aus $BenutzerPasswortArray), die ich haben möchte, also ohne den zu löschenden Benutzer aus $_POST.

Ja, wenn *EIN* Benutzer dieses Skript *EINMAL* zur gleichen Zeit startet.

Merke: Web-Anwendungen sind prinzipbedingt Mehrbenutzeranwendungen (außer, dieses Verhalten wird explizit verhindert) - das bedeutet, Du musst genau die Probleme, die sich bei gleichzeitigem lesenden und schreibenden Zugriff auf die gleichen Daten ergeben, behandeln.

MfG,
EKKi

--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|