Hello fastix®,
warum sicher, wenn es auch unsicher geht? ;-)
Bei Deiner methode MUSS Aleks mit Locking arbeiten, wenn ihm seine Einträge lieb sind.
Bei Aleks Methode kann es nur einmal passiren, dass der gerade im Append befindliche Datensatz nur halb gelesen wird, weil die Leseoperation von Client A ggf. die Schreiboperation von Client B überholt.
Aber es können keinen Daten verloren gehen.
Wenn er striptags() benutzt vor dem Wegschreiben, dann darf er sich lt. Thomas Luethi (den ich schon lange nicht mehr gesehen habe) die htmlentites() schenken und nur htmlspecialchars() benutzen. Allerdings würe ich es auch so machen, wie Du.
1. stripslashes()
2. striptags()
3. htlmentities()
4. nl2br()
in dieser Reihenfolge. Und dann erst wegschreiben. Damit man das nicht mit jedem Wert einzeln machen muss, könnte man die Funktionen gepackt auf alle Datenwerte aus dem POST-Array anwenden.
Dafür gibt es Array_map().
function filter($val)
{
if (is_array($val))
{
return array_map('filter', $val)
}
else
{
return nl2br(htmlentities(striptags(stripslashes($val))));
}
}
$_POST = arraymap('filter', $_POST);
Habs jetzt nicht ausprobiert, müsste aber funktionieren.
Dann kann man sich das ganze Geschreibsel sparen. Ich bin da immer gerne faul. Wahrscheinlich kann man das in der hier häufig gezeigten Kompaktschreibweise auch in einer einzigen Zeile mit dem Trinitätsoperator erreichen, aber dann steigt ja keiner mehr durch ;-)
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau