PHP -Filter
Daten validieren = Bestimmen, ob die Daten in der richtigen Form sind.
Daten bereinigen = Entfernen Sie alle illegalen Zeichen aus den Daten.
Die PHP-Filtererweiterung
PHP-Filter werden verwendet, um externe Eingaben zu validieren und zu bereinigen.
Die PHP-Filtererweiterung verfügt über viele Funktionen, die zum Überprüfen von Benutzereingaben erforderlich sind, und wurde entwickelt, um die Datenvalidierung einfacher und schneller zu machen.
Die filter_list()
Funktion kann verwendet werden, um aufzulisten, was die PHP-Filtererweiterung bietet:
Beispiel
<table>
<tr>
<td>Filter Name</td>
<td>Filter ID</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>
</table>
Warum Filter verwenden?
Viele Webanwendungen erhalten externen Input. Externe Eingaben/Daten können sein:
- Benutzereingabe aus einem Formular
- Kekse
- Daten von Webdiensten
- Servervariablen
- Ergebnisse der Datenbankabfrage
Externe Daten sollten Sie immer validieren!
Ungültig übermittelte Daten können zu Sicherheitsproblemen führen und Ihre Webseite beschädigen!
Durch die Verwendung von PHP-Filtern können Sie sicher sein, dass Ihre Anwendung den richtigen Input erhält!
PHP filter_var () Funktion
Die filter_var()
Funktion validiert und bereinigt Daten.
Die filter_var()
Funktion filtert eine einzelne Variable mit einem angegebenen Filter. Es werden zwei Daten benötigt:
- Die Variable, die Sie überprüfen möchten
- Der zu verwendende Überprüfungstyp
Bereinigen Sie einen String
Im folgenden Beispiel wird die filter_var()
Funktion verwendet, um alle HTML-Tags aus einer Zeichenfolge zu entfernen:
Beispiel
<?php
$str = "<h1>Hello World!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Validiere eine ganze Zahl
Im folgenden Beispiel wird die filter_var()
Funktion verwendet, um zu prüfen, ob die Variable $int eine ganze Zahl ist. Wenn $int eine Ganzzahl ist, lautet die Ausgabe des folgenden Codes: "Integer is valid". Wenn $int keine Ganzzahl ist, lautet die Ausgabe: "Integer is not valid":
Beispiel
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
Tipp: filter_var() und Problem mit 0
Wenn im obigen Beispiel $int auf 0 gesetzt wurde, gibt die obige Funktion "Integer is not valid" zurück. Um dieses Problem zu lösen, verwenden Sie den folgenden Code:
Beispiel
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Integer is valid");
} else {
echo("Integer is not valid");
}
?>
Validieren Sie eine IP-Adresse
Im folgenden Beispiel wird die filter_var()
Funktion verwendet, um zu prüfen, ob die Variable $ip eine gültige IP-Adresse ist:
Beispiel
<?php
$ip = "127.0.0.1";
if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
echo("$ip is a valid IP address");
} else {
echo("$ip is not a valid IP address");
}
?>
Bereinigen und validieren Sie eine E-Mail-Adresse
Im folgenden Beispiel wird die filter_var()
Funktion verwendet, um zunächst alle unzulässigen Zeichen aus der Variablen „$email“ zu entfernen und dann zu prüfen, ob es sich um eine gültige E-Mail-Adresse handelt:
Beispiel
<?php
$email = "[email protected]";
// Remove all illegal characters from email
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// Validate e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email is a valid email address");
} else {
echo("$email is not a valid email address");
}
?>
Bereinigen und validieren Sie eine URL
Im folgenden Beispiel wird die filter_var()
Funktion verwendet, um zuerst alle illegalen Zeichen aus einer URL zu entfernen und dann zu prüfen, ob $url eine gültige URL ist:
Beispiel
<?php
$url = "https://www.w3schools.com";
// Remove all illegal characters from a url
$url = filter_var($url, FILTER_SANITIZE_URL);
// Validate url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo("$url is a valid URL");
} else {
echo("$url is not a valid URL");
}
?>
Vollständige PHP-Filter-Referenz
Eine vollständige Referenz aller Filterfunktionen finden Sie in unserer vollständigen PHP-Filterreferenz. Überprüfen Sie jeden Filter, um zu sehen, welche Optionen und Flags verfügbar sind.
Die Referenz enthält zu jeder Funktion eine kurze Beschreibung und Anwendungsbeispiele!