Latest web development tutorials
×

PHP kurs

PHP kurs PHP krótkie wprowadzenie PHP zainstalować PHP gramatyka PHP zmienna PHP echo/print PHP Typy danych PHP stały PHP sznur PHP operatorzy PHP If...Else PHP Switch PHP szyk PHP Sortowanie tablicy PHP superglobalne PHP While krążenie PHP For krążenie PHP funkcja PHP Magiczne Zmienne PHP Przestrzenie nazw PHP Obiektowe

PHP forma

PHP forma PHP Uwierzytelnianie za pomocą formularzy PHP forma - wymagane pola PHP forma - Weryfikacja e-mail i adres URL PHP Kompletna wystąpienie formularza PHP $_GET zmienna PHP $_POST zmienna

PHP zaawansowane Tutorial

PHP Tablice wielowymiarowe PHP data PHP zawierać PHP plik PHP Prześlij plik PHP Cookie PHP Session PHP E-mail PHP bezpieczeństwo E-mail PHP Error PHP Exception PHP filtr PHP Filtr zaawansowany PHP JSON

PHP 7 Nowe funkcje

PHP 7 Nowe funkcje

PHP baza danych

PHP MySQL krótkie wprowadzenie PHP MySQL połączenie PHP MySQL Tworzenie bazy danych PHP MySQL Tworzenie tabeli danych PHP MySQL Należy wprowadzić dane PHP MySQL Wstawić wiele danych PHP MySQL Przygotowane sprawozdania PHP MySQL odczytać dane PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX krótkie wprowadzenie AJAX PHP AJAX baza danych AJAX XML AJAX Wyszukiwanie w czasie rzeczywistym AJAX RSS Reader AJAX głosowanie

PHP Reference Manual

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Przetwarzanie obrazu PHP RESTful

Filtr PHP

Filtr PHP służy do sprawdzania poprawności danych Filtr ze źródeł niepewnych, takich jak wprowadzanych przez użytkownika.


Co to jest filtr PHP?

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.


Dlaczego warto korzystać z filtra?

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?

  • Dane wejściowe z formularza
  • ciastka
  • Dane Web services
  • Zmienne serwerowe
  • Wyniki zapytań baz danych

Funkcje i filtry

Aby filtrować zmienną, użyj jednej z następujących funkcji filtrujących:

  • filter_var () - filtrowanie pojedynczej zmiennej w określonym filtrem
  • filter_var_array () - do filtrowania wielu zmiennych tych samych lub różnych filtrów
  • filter_input - Get jedną zmienną wejściową i przefiltrowanego
  • filter_input_array - Get więcej zmiennych wejściowych i przez tego samego lub różnych filtrów, aby je filtrować

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 .


Walidacja i odkażania

Istnieją dwa rodzaje filtrów:

Members filtry:

  • Służy do sprawdzania poprawności danych wprowadzanych przez użytkownika
  • Ścisłe reguły formatowania (np weryfikacji URL lub adres e-mail)
  • Jeśli się powiedzie, oczekiwany typ zwracany, jeśli nie zwróci FAŁSZ

Dezynfekcja filtry:

  • Kiedyś, aby zezwolić lub zabronić określony ciąg znaków
  • Żadnych zasad formatu danych
  • Zawsze zwracają łańcuch

Opcje i flagi

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.


wejście Members

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:

Przykłady przedstawione

Powyższy przykład ma zmienną wprowadzone przez (email) "get" Metoda transferu:

  1. Wykrywanie obecności "Wyślij" zmiennej wejście typu "get"
  2. Jeśli istnieje zmienna wejściowa wykryć, czy jest to prawidłowy adres e-mail

wejście Oczyszczanie

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 przedstawione

Przykłady powyższe według jednej zmiennej wejściowej (URL) "GET" metoda wysłania:

  1. Wykrywanie obecności "URL" zmienne wejściowe typu "get"
  2. Jeśli zmienna wejściowa istnieje, jego oczyszczanie (usuwanie niedozwolonych znaków) i będzie go przechowywać w zmiennej $ url

Jeśli zmienna wejściowa jest ciągiem tak: "http://www.ruaanoob.com/", zmienna $ url po oczyszczeniu jest w następujący sposób:



Wiele filtru wejściowego

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("输入正确");
}
?>

Przykłady przedstawione

Powyższy przykład ma trzy zmienne wejściowe (imię i nazwisko, wiek i e-mail) transmitowanych przez "get" metodą:

  1. Ustaw tablicę zawierającą nazwy zmiennych wejściowych wykorzystywanych do określenia zmiennych wejściowych i filtr
  2. () Funkcji, parametrów wejściowych, w tym zmiennych GET i po prostu ustawić połączenia tablicy filter_input_array
  3. Wykrywanie zmiennej $ result "wiek", a zmienna wejściowa "e-mail" jest nielegalne. (Jeśli nie są nielegalne wejście, po zastosowaniu w filter_input_array (), zmienna wejściowa jest FAŁSZ).

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:

  • Musi być tablicą asocjacyjną zawierającą zmienną wejściową jest klucz array (takich jak zmiennej wejściowej "wiek")
  • Wartość tej tablicy musi mieć identyfikator filtru lub postanowienia filtr, flagi i opcje tablice

Zastosowanie filtra oddzwaniania

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:

Przykłady przedstawione

Powyższe przykłady wszystkie "_" na ".":

  1. Aby stworzyć "_" zastępuje się wyrazami "." Funkcja
  2. Funkcja połączeń filter_var (), której parametry są FILTER_CALLBACK filtr i tablicę zawierającą naszą funkcję