Ich baue eine Bewertungsseite, die es Benutzern ermöglicht, Bewertungen einzureichen, die in einer MySQL DB gespeichert werden. Bewertungen werden von mir manuell auf Inhalt überprüft und dann auf meiner Website angezeigt. Hier ist meine benutzerdefinierte Funktion für die Datenreinigung (jedes Element auf dem Formular an diese Funktion übergeben wird):Meinung zur Sicherheit meines Formulars senden/anzeigen
function cleanDataForDB($data) {
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysql_real_escape_string($data);
return $data;
}
Ich habe das Drehbuch nicht geschrieben, um die Bewertungen angezeigt werden, sobald sie genehmigt haben Aber ich wollte nur alle Felder aus meiner MySQL-Tabelle über die Funktion html_entity_decode() übergeben und sie in den HTML-Code meiner Seite schreiben.
Wer sieht irgendwelche offensichtlichen Sicherheitslücken in diesem Plan? Es scheint mir ziemlich sicher zu sein, aber dies ist die erste Website, die ich erstellt habe, die von Benutzern eingereichte Daten erlaubt, also möchte ich sicher sein, dass ich mich nicht verwundbar mache.
Danke!
Die Korrektur der magischen Zitate sollte einmal und an einem zentralen Ort erfolgen. Siehe Handbuch für etwas wie 'if (get_magic_quotes_gpc()) {$ _POST = array_map ("stripslashes", $ _POST); $ _GET ...} ' – mario