Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich Sanitize Filters, um Benutzereingaben in PHP8 zu filtern?

Wie verwende ich Sanitize Filters, um Benutzereingaben in PHP8 zu filtern?

PHPz
PHPzOriginal
2023-10-19 08:28:57608Durchsuche

如何在PHP8中使用Sanitize Filters过滤用户输入?

Wie verwende ich Sanitize-Filter, um Benutzereingaben in PHP8 zu filtern?

Einführung:
In der Webentwicklung müssen Benutzereingabedaten normalerweise überprüft und gefiltert werden, um die Gültigkeit und Sicherheit der Daten sicherzustellen. PHP8 führt einen neuen Filtermechanismus ein, Sanitize Filters, der Benutzereingaben einfach filtern und verarbeiten kann. In diesem Artikel wird erläutert, wie Sie Sanitize-Filter in PHP8 verwenden, um Benutzereingaben zu filtern, und es werden spezifische Codebeispiele bereitgestellt.

1. Sanitize Filters verstehen
Sanitize Filters ist ein von PHP bereitgestellter Mechanismus zum Filtern und Verarbeiten von Benutzereingaben. Durch die Verwendung verschiedener Filterfunktionen können vom Benutzer eingegebene Daten unterschiedlich verarbeitet werden, z. B. HTML-Tags entfernen, Sonderzeichen maskieren, Datumsformate korrigieren usw. Durch den Einsatz von Sanitize Filters können Sie Risiken und Problemen, die für das System durch Schadcode oder ungültige Daten in Benutzereingaben entstehen, wirksam vorbeugen.

2. Verwenden Sie Sanitize Filters, um Benutzereingaben zu filtern.
Im Folgenden sind einige häufig verwendete Filterfunktionen von Sanitize Filters und ihre Verwendung aufgeführt:

  1. filter_var()-Funktion
    filter_var()-Funktion ist eine häufig verwendete Filterfunktion in PHP Filtern Sie eine einzelne zu filternde Variable. Die spezifische Verwendung ist wie folgt:

    $input = $_POST['username'];
    $sanitized_input = filter_var($input, FILTER_SANITIZE_STRING);

    Im obigen Codebeispiel wird die Benutzereingabe mit dem Namen „Benutzername“ aus dem Array $_POST abgerufen und dann mit dem Filter FILTER_SANITIZE_STRING gefiltert.

  2. filter_input()-Funktion
    filter_input()-Funktion wird zum Filtern von Eingabevariablen verwendet, die über GET, POST usw. erhalten werden. Die spezifische Verwendung ist wie folgt:

    $sanitized_input = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);

    Im obigen Codebeispiel wird die Funktion filter_input() verwendet, um die Benutzereingabe mit dem Namen „Benutzername“ von INPUT_POST abzurufen, und sie wird mit dem Filter FILTER_SANITIZE_STRING gefiltert.

  3. filter_var_array()-Funktion
    filter_var_array()-Funktion wird zum Filtern einer Reihe von Eingabevariablen verwendet. Die spezifische Verwendung ist wie folgt:

    $input = array(
     'username' => $_POST['username'],
     'password' => $_POST['password']
    );
    
    $filters = array(
     'username' => FILTER_SANITIZE_STRING,
     'password' => FILTER_SANITIZE_STRING
    );
    
    $sanitized_input = filter_var_array($input, $filters);

    Speichern Sie im obigen Codebeispiel zunächst die Eingabe, die gefiltert werden muss, in einem Array $input und erstellen Sie dann ein Filterarray $filters, das dem Eingabearray entspricht. Verwenden Sie abschließend die Funktion filter_var_array(), um das Eingabearray zu filtern und die gefilterten Ergebnisse in $sanitized_input zu speichern.

3. Beispieldemonstration
Das Folgende ist ein einfaches Beispiel, um zu demonstrieren, wie Sanitize Filters verwendet wird, um Benutzereingaben in PHP8 zu filtern:

<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    $input = array(
        'username' => $_POST['username'],
        'password' => $_POST['password']
    );

    $filters = array(
        'username' => FILTER_SANITIZE_STRING,
        'password' => FILTER_SANITIZE_STRING
    );

    $sanitized_input = filter_var_array($input, $filters);

    // 输出过滤后的结果
    echo "用户名:" . $sanitized_input['username'] . "<br>";
    echo "密码:" . $sanitized_input['password'] . "<br>";
}
?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <label>用户名:</label>
    <input type="text" name="username"><br>

    <label>密码:</label>
    <input type="password" name="password"><br>

    <input type="submit" value="提交">
</form>

Bestimmen Sie im obigen Codebeispiel zunächst, ob es sich um eine POST-Anfrage handelt. Erhalten Sie es über $_POST Benutzername und Passwort und filtern und verarbeiten Sie es mit dem Filter FILTER_SANITIZE_STRING. Abschließend werden die gefilterten Ergebnisse per Echo ausgegeben.

Fazit:
Verwenden Sie Sanitize Filters, um Benutzereingaben einfach zu filtern und zu verarbeiten und so die Sicherheit und Datenvalidität von Webanwendungen zu verbessern. Wenn Sie die Verwendung von Sanitize-Filtern verstehen und sie mit den tatsächlichen Anforderungen kombinieren, können Sie diesen Mechanismus flexibel zum Filtern und Verarbeiten von Benutzereingaben verwenden. Bei der Entwicklung von Webanwendungen ist es wichtig, Benutzereingaben richtig zu filtern und zu validieren, um sicherere und zuverlässigere Dienste bereitzustellen.

Das obige ist der detaillierte Inhalt vonWie verwende ich Sanitize Filters, um Benutzereingaben in PHP8 zu filtern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn