Bei der Entwicklung von Webanwendungen ist die Überprüfung der von den Benutzern übermittelten Daten ein sehr kritischer Link. Es verhindert nicht nur, dass illegale Daten die Systemfunktionen beeinflussen, sondern reduziert auch potenzielle Sicherheitsrisiken. PHP bietet ein leistungsstarkes integriertes Tool - filter_input_array () , das mehrere Eingangsfelder gleichzeitig überprüfen kann.
Mit der Funktion filter_input_array () können Entwickler Überprüfungs- oder Reinigungsregeln für mehrere Eingabefelder angeben, wodurch die Stapeldatenverarbeitung in einem Schritt abgeschlossen wird. Diese Funktion akzeptiert zwei Parameter:
Eingabetyp (wie input_get , input_post usw.)
Überprüfungsregeln Array
In praktischen Anwendungen verwenden wir normalerweise die folgenden vordefinierten Konstanten, um die Eingangsquelle darzustellen:
const INPUT_GET = 'get';
const INPUT_POST = 'post';
const INPUT_COOKIE = 'cookie';
const INPUT_SERVER = 'server';
Die Überprüfungsregel hat die Form eines assoziativen Arrays, wobei der Schlüssel der Feldname ist und der Wert der entsprechende Filter ist, der eine Filterkonstante durch PHP oder eine Arraystruktur mit Optionen enthält. Zum Beispiel:
$filters = array(
'username' => FILTER_SANITIZE_STRING,
'email' => FILTER_VALIDATE_EMAIL,
'password' => array(
'filter' => FILTER_VALIDATE_REGEXP,
'options' => array('regexp' => '/^[a-zA-Z0-9]{6,}$/')
)
);
Die Erklärung lautet wie folgt:
Benutzername verwendet filter_sanitize_string , um potenzielle HTML -Tags und illegale Zeichen herauszufiltern.
E -Mail wendet filter_validate_email an, um sicherzustellen, dass sein Format legal ist.
Das Passwort verwendet eine regelmäßige Ausdrucksüberprüfung, um sicherzustellen, dass es aus mindestens 6 Ziffern von Buchstaben oder Zahlen besteht.
Der folgende Code zeigt, wie eine Kombination aus Validierungsregeln und filter_input_array () verwendet wird, um mehrere Felder in einer Postanforderung zu verarbeiten:
const INPUT_GET = 'get';
const INPUT_POST = 'post';
$filters = array(
'username' => FILTER_SANITIZE_STRING,
'email' => FILTER_VALIDATE_EMAIL,
'password' => array(
'filter' => FILTER_VALIDATE_REGEXP,
'options' => array('regexp' => '/^[a-zA-Z0-9]{6,}$/')
)
);
$input = filter_input_array(INPUT_POST, $filters);
if ($input) {
// Die Eingabeüberprüfung war erfolgreich
// Verarbeiten Sie hier weiterhin Daten
echo '用户Die Eingabeüberprüfung war erfolgreich!';
} else {
// Die Eingangsüberprüfung ist fehlgeschlagen
echo '用户Die Eingangsüberprüfung ist fehlgeschlagen!';
}
Dieser Code definiert zunächst die Regeln für die Überprüfung und verwendet dann filter_input_array (), um die vom Benutzer eingerichteten Daten aus der Postanforderung zu extrahieren und zu überprüfen. Wenn alle Überprüfungen verabschiedet werden, kann die Geschäftslogik fortgesetzt werden. Wenn die Überprüfung fehlschlägt, wird eine Fehlermeldung ausgegeben.
Durch die Verwendung filter_input_array () können PHP -Entwickler eine effizientere Formulierung der Eingabeverifizierung verwalten, insbesondere bei der Verarbeitung mehrerer Felder, die nicht nur den Code präzise halten, sondern auch die Wartbarkeit und Flexibilität der Überprüfung verbessern können. Eine flexible Definition von Regeln kann auch besser mit komplexen Eingabeszenarien fertig werden und sicherere und stabilere Webanwendungen aufbauen.