Проверка данных = Определить, если данные в надлежащей форме.
Санитарная обработка данных = Удалите недопустимый символ из данных.
PHP Filter Extension
PHP фильтры используются для проверки и дезинфицировать внешний вход.
Расширение PHP фильтр имеет множество функций, необходимых для проверки пользовательского ввода, и предназначен, чтобы сделать проверки данных проще и быстрее.
filter_list() функция может быть использована для отображения того, что предлагает расширение PHP фильтра:
пример
<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>
Выполнить пример » Зачем использовать фильтры?
Многие веб-приложения получают внешний вход. Внешние входы / данные могут быть:
- Пользовательский ввод из формы
- Cookies
- Данные веб-сервисы
- Серверные переменные
- Результаты запросов к базам данных
Вы должны всегда проверять внешние данные!
Недействительные представленные данные могут привести к проблемам безопасности и сломать свой веб-страницу!
С помощью PHP фильтров вы можете быть уверены, что ваше приложение получает правильный вход!
PHP filter_var() Функция
filter_var() функции и проверки данных и дезинфицировать.
filter_var() функция отфильтровывает одну переменную с помощью определенного фильтра. Она занимает два элемента данных:
- Переменная вы хотите проверить
- Тип проверки использования
Санируйте строку
В следующем примере используется filter_var() функцию , чтобы удалить все HTML - теги из строки:
пример
<?php
$str = "<h1>Hello World!</h1>";
$newstr
= filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Выполнить пример » Проверка в Integer
В следующем примере используется filter_var() функция , чтобы проверить , если переменные $ ИНТ является целым числом. Если $ ИНТ является целым числом, то выход кода выше будет: "Integer is valid" . Если $ ИНТ не является целым числом, то выход будет: "Integer is not valid" :
пример
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) ===
false) {
echo("Integer is valid");
} else {
echo("Integer is not
valid");
}
?>
Выполнить пример » Совет: filter_var() и проблема с 0
В приведенном выше примере, если $ ИНТ был установлен в 0, то функция выше будет возвращать "Integer is not valid" . Чтобы решить эту проблему, используйте код ниже:
пример
<?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");
}
?>
Выполнить пример » Проверка IP-адреса
В следующем примере используется filter_var() функция , чтобы проверить , если переменный $ IP является действительным IP - адресом:
пример
<?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");
}
?>
Выполнить пример » Санируйте и проверку Адреса электронной почты
В следующем примере используется filter_var() функция , чтобы сначала удалить все недопустимые символы из переменных $ электронной почты, а затем проверить , если это действительный адрес электронной почты:
пример
<?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");
}
?>
Выполнить пример » Санируйте и проверка на URL
В следующем примере используется filter_var() функция , чтобы сначала удалить все недопустимые символы из URL, а затем проверить , если $ URL является действительной URL:
пример
<?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");
}
?>
Выполнить пример » Полный PHP Filter Reference
Для полного ведения всех функций фильтра, перейдите на наш полный PHP Filter Reference. Проверьте каждый фильтр, чтобы увидеть, какие параметры и флаги доступны.
Ссылка содержит краткое описание и примеры использования, для каждой функции!