PHP5 Фильтры
Проверка данных = определяет, находятся ли данные в правильной форме.
Очистка данных = удаление любого недопустимого символа из данных.
PHP Расширение фильтра
PHP фильтры используются для проверки и очистки внешних входных данных.
Расширение фильтра PHP имеет множество функций, необходимых для проверки ввода данных пользователем, разработан, чтобы сделать проверку данных проще и быстрее.
Функция filter_list()
, может использоваться для перечисления того, что предлагает расширение PHP фильтра:
<table>
<tr>
<td>Название фильтра</td>
<td>Идентификатор фильтра</td>
</tr>
<?php
foreach (filter_list() as $id =>$filter) {
echo '<tr><td>' . $filter . '</td><td>' . filter_id($filter) . '</td></tr>';
}
?>
</table>
Смотреть код »
PHP Зачем использовать фильтры?
Многие веб приложения получают внешние входные данные. Внешние входные данные, могут быть:
- Пользовательский ввод из формы
- Cookies
- Данные веб сервис
- Серверная переменная
- Результаты запроса базы данных
Всегда проверяйте внешние данные! Неверные представленные данные могут привести к проблемам безопасности и нарушить вашу веб страницу!
Используя PHP фильтры, можете быть уверены, что ваше приложение получит правильный ввод!
PHP Функция фильтр переменной
Функция filter_var()
- проверка и очистка данных.
Функция filter_var()
- фильтрует одну переменную с заданным фильтром. Занимает две части данных:
- Переменная, которую хотите проверить
- Тип используемой проверки
PHP Очистить строку
В следующем примере используется функция filter_var()
, чтобы удалить все HTML теги из строки:
<?php
$str = "<h1>Привет Мир!</h1>";
$newstr = filter_var($str, FILTER_SANITIZE_STRING);
echo $newstr;
?>
Смотреть код »
PHP Проверка целого числа
В следующем примере используется функция filter_var()
, чтобы проверить,
если переменная $int
- целое число.
Если $int
- это целое число, выход кода ниже будет: "Целое число допустимо"
.
Если $int
, не является целым числом, вывод будет: "Целое число не является действительным"
:
<?php
$int = 100;
if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Целое число допустимо");
} else {
echo("Целое число не является действительным");
}
?>
Смотреть код »
Совет: filter_var()
и проблема с 0
В приведенном выше примере, если $int
был установлен на 0
, функция возвратит
"Целое число не является действительным"
.
Для решения этой проблемы используйте следующий код:
<?php
$int = 0;
if (filter_var($int, FILTER_VALIDATE_INT) === 0 || !filter_var($int, FILTER_VALIDATE_INT) === false) {
echo("Допустимо целое число");
} else {
echo("Целое число не является действительным");
}
?>
Смотреть код »
PHP Проверка IP адреса
В следующем примере функция filter_var()
, используется для проверки переменной $ip
,
допустимого IP адреса:
<?php
$ip = "127.0.0.1";
if (!filter_var($ip, FILTER_VALIDATE_IP) === false) {
echo("$ip допустимый IP адрес");
} else {
echo("$ip не является допустимым IP адрес");
}
?>
Смотреть код »
PHP Очистка и проверка адреса электронной почты
В следующем примере функция filter_var()
, используется для первого удаления всех
нелегальные символов из переменной $email
, а затем проверяет, если это
действительный адрес электронной почты:
<?php
$email = "and-shhipunov@mail.ru";
// Удалить все запрещенные символы из электронной почты
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
// Подтвердить e-mail
if (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
echo("$email действительный адрес электронной почты");
} else {
echo("$email не является действительным адресом электронной почты");
}
?>
Смотреть код »
PHP Очистка и проверка URL адреса
В следующем примере функция filter_var()
, используется для первого удаления всех
недопустимые символы из URL, а затем проверить, если $url
адрес
является допустимым URL адресом:
<?php
$url = "https://schoolsw3.com";
// Удаление всех запрещенных символов из url адреса
$url = filter_var($url, FILTER_SANITIZE_URL);
// Подтвердить url
if (!filter_var($url, FILTER_VALIDATE_URL) === false) {
echo("$url является действительным URL");
} else {
echo("$url не является действительным URL");
}
?>
Смотреть код »
PHP Полный справочник фильтров
Для полной справки всех функций фильтра, пойдите к полному PHP Справочник фильтров. Проверьте каждый фильтр, чтобы увидеть какие варианты и пометки доступны.
Справочник содержит краткое описание и примеры использования каждой функции!