Sprawdzanie poprawności danych = Ustal, czy dane są w odpowiedniej formie.
Odkażania danych = Usunąć niedozwolony znak z danymi.
Filtr PHP Extension
Filtry PHP są wykorzystywane do sprawdzania poprawności i zdezynfekować wejście zewnętrzne.
Rozszerzenie filtr PHP posiada wiele funkcji potrzebnych do sprawdzenia danych wprowadzonych przez użytkownika, i został zaprojektowany, aby ułatwić sprawdzanie poprawności danych i szybciej.
filter_list() Funkcja ta może być używana do listy jakie oferuje rozszerzenie filtr PHP:
Przykład
<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>
Uruchomić przykład » Dlaczego warto korzystać z filtrów?
Wiele aplikacji internetowych otrzymują wejście zewnętrzne. wejścia / dane zewnętrzne mogą być:
- Wprowadzane przez użytkownika z formularza
- Cookies
- Dane usług internetowych
- zmienne serwerowe
- Wyniki zapytań w bazie
Zawsze należy sprawdzić poprawność danych zewnętrznych!
Nieprawidłowe przedstawione dane mogą prowadzić do problemów bezpieczeństwa i przełamać swoją stronę internetową!
Za pomocą filtrów PHP można mieć pewność, że aplikacja staje się właściwe wejście!
PHP filter_var() Funkcja
filter_var() funkcją zarówno walidacji i dezynfekcji danych.
filter_var() funkcja filtruje pojedynczej zmiennej z określonym filtrem. Zajmuje dwa kawałki danych:
- Zmienna chcesz sprawdzić
- Rodzaj czeku w użyciu
Zdezynfekować String
Poniższy przykład używa filter_var() funkcji, aby usunąć wszystkie znaczniki HTML z ciągu znaków:
Przykład
<?php
$str = "<h1>Hello World!</h1>";
$newstr
= filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Uruchomić przykład » Sprawdzić poprawność Integer
Poniższy przykład używa filter_var() funkcji, aby sprawdzić, czy zmienna $ int jest liczbą całkowitą. Jeśli $ int jest liczbą całkowitą, wyjście kodu powyżej będą: "Integer is valid" . Jeśli $ int nie jest liczbą całkowitą, to wyjście będzie: "Integer is not valid" :
Przykład
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) ===
false) {
echo("Integer is valid");
} else {
echo("Integer is not
valid");
}
?>
Uruchomić przykład » Wskazówka: filter_var() i problem z 0
W powyższym przykładzie, jeśli $ int została ustawiona na 0, funkcja powyżej powróci "Integer is not valid" . Aby rozwiązać ten problem, należy skorzystać z poniższego kodu:
Przykład
<?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");
}
?>
Uruchomić przykład » Sprawdzić poprawność adresu IP
Poniższy przykład używa filter_var() funkcji, aby sprawdzić, czy zmienna $ ip jest prawidłowy adres IP:
Przykład
<?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");
}
?>
Uruchomić przykład » Zdezynfekować i potwierdź adres e-mail
Poniższy przykład używa filter_var() funkcji, aby najpierw usunąć wszystkie niedozwolone znaki ze zmiennej $ e-mail, a następnie sprawdzić, czy jest to prawidłowy adres e-mail:
Przykład
<?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");
}
?>
Uruchomić przykład » Zdezynfekować i zatwierdź URL
Poniższy przykład używa filter_var() funkcji, aby najpierw usunąć wszystkie niedozwolone znaki z adresu URL, a następnie sprawdzić, czy $ url jest poprawny adres URL:
Przykład
<?php
$url = "http://www.w3ii.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");
}
?>
Uruchomić przykład » Filtr kompletny PHP referencyjny
Pełną odniesienia wszystkich funkcji filtrujących, przejdź do naszej pełnej PHP filtrów odniesienia. Sprawdź każdy filtr, aby zobaczyć, jakie opcje są dostępne i flagi.
Wniosek ten zawiera krótki opis oraz przykłady użycia, dla każdej funkcji!