Heim  >  Artikel  >  Backend-Entwicklung  >  PHP filter_var()-Funktion: Benutzereingaben filtern und validieren

PHP filter_var()-Funktion: Benutzereingaben filtern und validieren

PHPz
PHPzOriginal
2023-06-27 08:53:53931Durchsuche

Bei der Entwicklung von Webanwendungen werden vom Benutzer eingegebene Daten häufig für Vorgänge wie Datenbankabfragen, Datei-E/A und das Senden von E-Mails verwendet. Die vom Benutzer eingegebenen Daten sind jedoch unzuverlässig, da der Benutzer illegale Daten wie SQL-Injection, Cross-Site-Scripting-Angriffe, Remote-Befehlsausführung usw. eingeben kann. Diese Probleme können zu Sicherheitslücken in der Anwendung führen. Daher müssen vom Benutzer eingegebene Daten gefiltert und validiert werden, bevor sie für notwendige Vorgänge verwendet werden können. PHP bietet eine filter_var()-Funktion, die Benutzereingabedaten effektiv filtern und validieren kann.

Die Funktion filter_var() stellt eine Reihe von Filtern bereit, die zum Validieren, Filtern und Transformieren verschiedener Datentypen verwendet werden können. Diese Filter sind als Konstanten definiert und können nach Bedarf kombiniert werden. Sie können beispielsweise den Filter FILTER_SANITIZE_STRING verwenden, um alle Tags und Sonderzeichen aus einer Zeichenfolge zu entfernen.

Die folgenden sind einige der am häufigsten verwendeten Filter:

  • FILTER_VALIDATE_EMAIL wird verwendet, um die Gültigkeit von E-Mail-Adressen zu überprüfen.
  • FILTER_VALIDATE_INT wird verwendet, um Ganzzahlen zu überprüfen. Der Wertebereich von Ganzzahlen kann angegeben werden.
  • FILTER_VALIDATE_FLOAT wird verwendet Gleitkommazahlen überprüfen
  • FILTER_VALIDATE_IP zur Überprüfung der IP-Adresse
  • FILTER_VALIDATE_URL wird verwendet, um die Legitimität der URL zu überprüfen

Sobald der zu verwendende Filter festgelegt ist, kann die Funktion filter_var() die Benutzereingabedaten filtern und überprüfen. wie zum Beispiel:

$name = filter_var($_POST['name'], FILTER_SANITIZE_STRING);
$email = filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
if (!$email) {
     echo "Invalid email address";
}

Im obigen Beispiel sind $_POST['name'] und $_POST['email'] über das Formular übermittelte Daten. Der erste Filter entfernt alle Tags und Sonderzeichen aus dem Eingabewert und der zweite Filter überprüft die Gültigkeit der E-Mail-Adresse. Wenn die E-Mail-Adresse ungültig ist, wird „Ungültige E-Mail-Adresse“ ausgegeben.

Die Funktion filter_var() kann auch zum Filtern und Überprüfen von Werten in einem Array verwendet werden. Zum Beispiel:

$data = array(
     'name' => 'John Smith',
     'age' => '30',
     'email' => 'john.smith@example.com'
);

$filteredData = filter_var_array($data, array(
     'name' => FILTER_SANITIZE_STRING,
     'age' => array(
          'filter' => FILTER_VALIDATE_INT,
          'options' => array(
               'min_range' => 18,
               'max_range' => 100
          )
     ),
     'email' => FILTER_VALIDATE_EMAIL
));

Im obigen Beispiel enthält das $data-Array einige Benutzereingabedaten. Die Funktion filter_var_array() filtert und überprüft das Array und gibt ein neues Array $filteredData zurück. Jeder Wert wird mithilfe geeigneter Filter gefiltert und validiert. Beispielsweise würde der Alterswert mithilfe von FILTER_VALIDATE_INT und dem Optionsarray validiert, um sicherzustellen, dass der Wert zwischen 18 und 100 liegt.

Zusätzlich zu den oben genannten Filtern verfügt die Funktion filter_var() über einige weitere nützliche Filter. Beispielsweise wird FILTER_SANITIZE_NUMBER_INT verwendet, um alle Zeichen aus einer Zeichenfolge außer Zahlen und Plus-/Minuszeichen zu entfernen. FILTER_SANITIZE_SPECIAL_CHARS wird verwendet, um HTML- und PHP-Tags aus Zeichenfolgen und Escape-Anführungszeichen zu entfernen.

Zusammenfassend lässt sich sagen, dass die Sicherheit in Webanwendungen von entscheidender Bedeutung ist und Benutzereingabedaten normalerweise einer der anfälligen Faktoren sind. Mit der Funktion filter_var() können Benutzereingabedaten effektiv gefiltert und überprüft werden, um Datenintegrität und -sicherheit sicherzustellen. Mithilfe der entsprechenden Filter können Sie ganz einfach E-Mail-Adressen, Ganzzahlen und Gleitkommazahlen validieren, Tags in Zeichenfolgen filtern, Sonderzeichen entfernen und vieles mehr.

Das obige ist der detaillierte Inhalt vonPHP filter_var()-Funktion: Benutzereingaben filtern und validieren. 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