Tut mir leid, wenn das an anderer Stelle beantwortet wurde, aber ich konnte keine gute gründliche Antwort finden, um jeden Schritt dieses Prozesses zu erklären. Es ist alles in Bits und Teilen, die sehr schwer zusammenzustellen sind.php/mysqli Validierung der Formulareingabe zum Einfügen in die Anzeige. Sicherheit bei jedem Schritt?
Ich mag würde wissen, wann und welche Maßnahmen die Sicherheit im gesamten Prozess der Anwendung:
- Form Validation
- Vorbereiten von Daten für Datenbank-Insertion
Daten aus der Datenbank angezeigt
- Formularüberprüfung: Sollte ich die Rohform-Eingabe dafür verwenden, oder muss ich vor dem Versuch, irgendetwas zu entwerten, entkommen?
Beispiel: Habe ich die „mysqli_real_escape_string“ muß hier oder gehört es nur in Schritt 2 unten?
if (empty($_POST["email"])) {
$emailERR = "* Required";
} else {
$email = mysqli_real_escape_string($_POST["email"]);
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
$emailERR = "* Invalid email";
}
}
Sobald die Eingabe überprüft wird FILTER_VALIDATE_EMAIL verwendet wird, ist es sicher, es zu senden „wie er ist“ in der Datenbank vorbereitete Anweisung verwenden oder es weitere Validierung oder sanitäre Anlagen benötigt?
Wenn ich Daten aus der Datenbank anzeigen möchte, kann ich einfach "htmlspecialchars ($ fieldData)" und nichts anderes verwenden, um sicher in den Browsern der Benutzer angezeigt zu werden? Wenn ich zum Beispiel mysqli_real_escape_string vor dem Einfügen verwendet habe, muss ich noch etwas anderes tun, um es für die Anzeige neu zu formatieren, wenn ich es von der Datenbank bekomme?
Von dem, was ich bisher gelernt habe, ich bin die Antwort der Hoffnung ist:
Verwendung roh Eingang zur Validierung
Verwendung mit vorbereiteten Anweisungen mysqli_real_escape_string wenn Einfügen von Datensätzen
Verwenden Sie htmlspecialchars, um Daten aus der Datenbank
anzuzeigen
... aber ich bin neu in diesem, so lass es mich wissen, wenn ich etwas fehlt bin ...
Natürlich meine Sorge ist hier gegen Angriffe zu verteidigen ... Jede Hilfe wäre geschätzt. Dank