Najlepszy samouczek Filtr PHP W 2024 r. W tym samouczku możesz dowiedzieć się Co to jest filtr PHP?,Dlaczego warto korzystać z filtra?,Funkcje i filtry,Walidacja i odkażania,Opcje i flagi,wejście Members,Przykłady przedstawione,wejście Oczyszczanie,Przykłady przedstawione,Wiele filtru wejściowego,Przykłady przedstawione,Zastosowanie filtra oddzwaniania,Przykłady przedstawione,
Filtr PHP służy do sprawdzania poprawności danych Filtr ze źródeł niepewnych, takich jak wprowadzanych przez użytkownika.
Filtr PHP służy do sprawdzania poprawności danych Filtr ze źródeł niepewnych.
Test, walidacji i wprowadzania danych przez użytkownika filtr lub niestandardowych danych jest ważną częścią każdej aplikacji WWW.
Filtr rozszerzenie PHP ma na celu filtrowania danych łatwiejsze i szybsze.
Prawie wszystkie aplikacje internetowe są zależne od wejść zewnętrznych. Dane te zwykle pochodzą od użytkowników lub innych aplikacji (takich jak usługi internetowej). Przy użyciu filtrów, można zapewnić, że aplikacje uzyskać prawidłowy typ wejścia.
Należy zawsze zewnętrzne filtrowanie danych!
filtrowanie wejście jest najważniejsze kwestie związane z bezpieczeństwem aplikacji.
Co to są dane zewnętrzne?
Aby filtrować zmienną, użyj jednej z następujących funkcji filtrujących:
W poniższym przykładzie, używamy filter_var () Funkcja sprawdza liczbę całkowitą:
<?php $int = 123; if(!filter_var($int, FILTER_VALIDATE_INT)) { echo("不是一个合法的整数"); } else { echo("是个合法的整数"); } ?>
Powyższy kod wykorzystuje "FILTER_VALIDATE_INT" filtr do filtrowania zmienną. Ponieważ całkowita jest zgodny z prawem, więc powyższe wyjście kod będzie:
Jeśli spróbujemy użyć zmiennej nie jest liczbą całkowitą (takich jak "123abc"), to wyjście: "Integer jest nieważna".
Pełną listę funkcji i filtrów, odwiedź naszą Manualny filtr PHP odniesienia .
Istnieją dwa rodzaje filtrów:
Members filtry:
Dezynfekcja filtry:
Opcje i flagi są używane do dodawania dodatkowych opcji filtrowania z określonymi filtrami.
Różne filtry mają różne opcje i flagi.
W poniższym przykładzie, używamy filter_var () i "min_range" i opcję "max_range", aby sprawdzić liczbę całkowitą:
<?php $var=300; $int_options = array( "options"=>array ( "min_range"=>0, "max_range"=>256 ) ); if(!filter_var($var, FILTER_VALIDATE_INT, $int_options)) { echo("不是一个合法的整数"); } else { echo("是个合法的整数"); } ?>
Podobnie jak powyższy kod, a właściwej opcji musi być umieszczony w tablicy o nazwie "Opcje" w. Jeśli flaga nie jest wymagane w tablicy.
Ponieważ całkowita wynosi "300", to nie mieści się w podanym zakresie, wyjście kodu powyżej, będą:
不是一个合法的整数
Pełną listę funkcji i filtrów, odwiedź naszą Manualny filtr PHP odniesienia . Można zobaczyć opcje dostępne dla każdego filtra i flagi.
Spróbujmy Weryfikacja danych z formularza.
Musimy zrobić pierwszą rzeczą jest, aby potwierdzić, że dane wejściowe szukamy.
Następnie używamy filter_input funkcji (), aby filtrować dane wprowadzone.
W poniższym przykładzie zmienna wejściowa "e-mail" jest przekazywany do strony PHP:
<?php if(!filter_has_var(INPUT_GET, "email")) { echo("没有 email 参数"); } else { if (!filter_input(INPUT_GET, "email", FILTER_VALIDATE_EMAIL)) { echo "不是一个合法的 E-Mail"; } else { echo "是一个合法的 E-Mail"; } } ?>
Przykłady powyższych wyników były następujące:
Powyższy przykład ma zmienną wprowadzone przez (email) "get" Metoda transferu:
Spróbujmy wyjaśnić pochodzących z formularza URL.
Przede wszystkim, musimy potwierdzić, że dane wejściowe szukamy.
Następnie zdezynfekować funkcję wejścia filter_input danych ().
W poniższym przykładzie zmienna wejściowa "URL" jest przekazywany do strony PHP:
<?php if(!filter_has_var(INPUT_GET, "url")) { echo("没有 url 参数"); } else { $url = filter_input(INPUT_GET, "url", FILTER_SANITIZE_URL); echo $url; } ?>
Przykłady powyższe według jednej zmiennej wejściowej (URL) "GET" metoda wysłania:
Jeśli zmienna wejściowa jest ciągiem tak: "http://www.ruaanoob.com/", zmienna $ url po oczyszczeniu jest w następujący sposób:
Formy często składają się z wielu pól wejściowych. Aby uniknąć filter_var lub filter_input funkcję wielokrotnie wzywał, możemy użyć filter_var_array filter_input_array lub funkcję.
W tym przypadku używamy filter_input_array () funkcji filtrowania trzy zmienne GET. Odebrane zmienne GET to nazwisko, wiek i adres e-mail:
<?php $filters = array ( "name" => array ( "filter"=>FILTER_SANITIZE_STRING ), "age" => array ( "filter"=>FILTER_VALIDATE_INT, "options"=>array ( "min_range"=>1, "max_range"=>120 ) ), "email"=> FILTER_VALIDATE_EMAIL ); $result = filter_input_array(INPUT_GET, $filters); if (!$result["age"]) { echo("年龄必须在 1 到 120 之间。<br>"); } elseif(!$result["email"]) { echo("E-Mail 不合法<br>"); } else { echo("输入正确"); } ?>
Powyższy przykład ma trzy zmienne wejściowe (imię i nazwisko, wiek i e-mail) transmitowanych przez "get" metodą:
filter_input_array () Drugi argument funkcji może być tablicą lub pojedynczy identyfikator filtra.
Jeżeli parametr jest pojedynczy identyfikator filtru, a następnie określony filtr będzie filtrował wszystkie wartości tablicy wejście.
Jeśli ten parametr jest tablicą, tablica musi być zgodne z następującymi zasadami:
Stosując filtry FILTER_CALLBACK, można wywołać funkcję niestandardową, użyj go jako filtr do wykorzystania. Tak więc, mamy pełną kontrolę nad filtrowaniem danych.
Można utworzyć własną funkcję niestandardową, można też użyć istniejącej funkcji PHP.
Będziesz gotowy do korzystania z funkcji filtra, zgodnie z przepisami wyszczególnionymi opcji ustalonych wcześniej metody. W tablicy asocjacyjnej z "opcji" nazw.
W poniższym przykładzie, używamy funkcji niestandardowej wszystkich "_" przekształca się w przestrzeni:
<?php function convertSpace($string) { return str_replace("_", ".", $string); } $string = "www_w3big_com!"; echo filter_var($string, FILTER_CALLBACK, array("options"=>"convertSpace")); ?>
Wynik ten kod jest następujący:
Powyższe przykłady wszystkie "_" na ".":