Bei der Entwicklung von Webanwendungen mithilfe von PHP sind Formulare eine wichtige Möglichkeit, Benutzereingaben zu sammeln. Um zu verhindern, dass bösartige Daten die Stabilität und Sicherheit des Systems beeinflussen, müssen Sie zunächst bestätigen, dass die Filterfunktion von PHP aktiviert ist. Suchen Sie in der Datei php.ini die relevante Erweiterungskonfiguration, um sicherzustellen, dass die Filterfunktion aktiviert ist, und starten Sie den Server nach dem Speichern neu.
Beim Erstellen eines Formulars sollten die Eingabefelder und Attribute vernünftig eingestellt werden. Das folgende Beispiel ist ein Registrierungsformular mit einem Benutzernamen, einem Passwort und einer E -Mail:
<form action="register.php" method="post"> <label for="username">Benutzername:</label> <input type="text" name="username" id="username"> <label for="password">Passwort:</label> <input type="password" name="password" id="password"> <label for="email">Post:</label> <input type="email" name="email" id="email"> <input type="submit" value="registrieren"> </form>
Verwenden Sie nach der Übermittlung des Formulars die Funktion "PHP-integrierte Filter", um eine einfache Reinigung der Benutzereingabe durchzuführen:
$ userername = filter_input (input_post, 'userername', filter_sanitize_string); $ password = filter_input (input_post, 'password', filter_sanitize_string); $ mail = filter_input (input_post, 'mail', filter_sanitize_email);
Um die Sicherheit zu verbessern, kann das Feldformat in Kombination mit regulären Ausdrücken weiter verifiziert werden, wie z. B. der Benutzername nur 3 bis 20 Buchstaben, Zahlen und Unterstriche zulässt:
$ userernAmeRex = '/^[a-za-z0-9 _] {3,20} $/'; if (! preg_match ($ ustusernAmereGex, $ userername)) { Echo "Der Benutzername muss eine Kombination aus Buchstaben, Zahlen oder Unterstrichen von 3 bis 20 Zeichen" sein. Ausfahrt(); }
Gleiches gilt für andere Bereiche. Sie können die Überprüfungsregeln entsprechend Ihren Anforderungen anpassen.
Achten Sie vor dem Speichern von Daten in die Datenbank unbedingt dem Eingangsinhalt, um SQL -Injektionsangriffe zu verhindern. Zum Beispiel:
$ userername = mysqli_real_escape_string ($ dbConnection, $ username); $ password = mysqli_real_escape_string ($ dbConnection, $ password); $ mail = mysqli_real_escape_string ($ dbConnection, $ mail);
Während der Verifizierung von Formular können Sie auf Probleme stoßen, wie z. B. Benutzername, die besetzt sind, und nicht genügend Passwortstärke. Durch die Aufrechterhaltung einer Reihe von Fehlerinformationen werden alle Überprüfungsausnahmen gesammelt, was für die einheitliche Anzeige geeignet ist:
$ fehler = array (); // Überprüfen Sie, ob der Benutzername bereits vorhanden ist, wenn (Benutzernameexisten ($ Benutzername)) { $ fehler ['Benutzername'] = "Der Benutzername wurde besetzt"; } // Passwortstärke überprüfen, wenn (isWeakPassword ($ password)) { $ fehler ['Passwort'] = "Das Passwort ist zu schwach"; } // Fehlermeldung ausgeben if (! Leer ($ fehler) { foreach ($ fehler als $ error) { Echo $ Fehler. "<br> "; } }
Hier sind BenutzernameExists () und IsWeakPassword () benutzerdefinierte Funktionen, die gemäß der tatsächlichen Geschäftslogik implementiert werden können.
Durch die rationale Verwendung der Filter von PHP, regelmäßigen Ausdrücken und Fehlererfassungsmechanismen kann die Sicherheit der Form der Form zur Form von Formular effektiv verbessert und potenzielle Sicherheitsrisiken verringert werden. Gleichzeitig stellt die Kombination von Datenbank -Flucht- und Vorverarbeitungsanweisungen sicher, dass die Anwendung vor gemeinsamen Angriffsbedrohungen geschützt ist. Denken Sie daran, dass die Front-End-Überprüfung für die Benutzererfahrung zwar günstig ist, die Back-End-Überprüfung der Schlüssel zur Gewährleistung der Datensicherheit ist.
Ich hoffe, dieser Artikelinhalt wird Ihnen beim Verständnis und der Implementierung von PHP -Sicherheitsformularüberprüfung hilfreich sein und dabei helfen, eine sicherere und zuverlässigere Webanwendung zu erstellen.