Учебник по PHP

PHP ГЛАВНАЯ Введение в PHP Установка PHP Синтаксис PHP Комментарии PHP PHP-переменные PHP-эхо/печать Типы данных PHP PHP-строки PHP-номера PHP-математика PHP-константы PHP-операторы PHP Если... Иначе... Иначе PHP-переключатель PHP-циклы PHP-функции PHP-массивы PHP-суперглобальные переменные PHP регулярное выражение

PHP- формы

Обработка форм PHP Проверка формы PHP Требуется PHP-форма URL-адрес формы PHP/электронная почта PHP-форма завершена

PHP продвинутый

Дата и время PHP PHP включает Обработка файлов PHP Открытие/чтение файла PHP Создание/запись файла PHP Загрузка файла PHP PHP-куки PHP-сессии PHP-фильтры Расширенные фильтры PHP Функции обратного вызова PHP PHP JSON Исключения PHP

PHP ООП

PHP Что такое ООП PHP-классы/объекты PHP-конструктор PHP-деструктор Модификаторы доступа PHP Наследование PHP PHP-константы Абстрактные классы PHP PHP-интерфейсы Особенности PHP Статические методы PHP Статические свойства PHP Пространства имен PHP Итерации PHP

База данных MySQL

База данных MySQL Подключиться к MySQL MySQL Создать БД MySQL Создать таблицу Вставка данных MySQL MySQL Получить последний идентификатор MySQL Вставить несколько MySQL подготовлен Выбор данных MySQL MySQL Где Порядок MySQL MySQL Удалить данные Данные обновления MySQL Предельные данные MySQL

PHP XML

XML-парсеры PHP Парсер PHP SimpleXML PHP SimpleXML — Получить PHP XML Expat PHP XML DOM

PHP — АЯКС

Введение в АЯКС АЯКС PHP База данных AJAX АЯКС XML AJAX-поиск в реальном времени АЯКС-опрос

Примеры PHP

Примеры PHP PHP-компилятор PHP-викторина PHP-упражнения PHP-сертификат

Справочник по PHP

Обзор PHP PHP-массив Календарь PHP Дата PHP PHP-каталог Ошибка PHP PHP-исключение Файловая система PHP PHP-фильтр PHP FTP PHP JSON Ключевые слова PHP PHP-библиотека XML PHP-почта PHP-математика PHP Разное PHP MySQLi PHP-сеть Управление выводом PHP PHP регулярное выражение PHP SimpleXML PHP-поток PHP-строка Обработка переменных PHP XML-парсер PHP PHP-архив Часовые пояса PHP

PHP -фильтры


Проверка данных = определить, находятся ли данные в правильной форме.

Очистка данных = удалить все недопустимые символы из данных.


Расширение PHP-фильтра

Фильтры 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>

Зачем использовать фильтры?

Многие веб-приложения получают внешний ввод. Внешний ввод/данные могут быть:

  • Пользовательский ввод из формы
  • Печенье
  • Данные веб-сервисов
  • Переменные сервера
  • Результаты запроса к базе данных

Вы всегда должны проверять внешние данные!
Неверные отправленные данные могут привести к проблемам с безопасностью и поломке вашей веб-страницы!
Используя фильтры 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;
?>

Проверить целое число

В следующем примере filter_var()функция используется для проверки того, является ли переменная $int целым числом. Если $int является целым числом, вывод приведенного ниже кода будет таким: «Целое число допустимо». Если $int не является целым числом, вывод будет: «Целое число недопустимо»:

Пример

<?php
$int = 100;

if (!filter_var($int, FILTER_VALIDATE_INT) === false) {
  echo("Integer is valid");
} else {
  echo("Integer is not valid");
}
?>

Совет: filter_var() и проблема с 0

В приведенном выше примере, если $int был установлен в 0, вышеприведенная функция вернет «Целое число недопустимо». Чтобы решить эту проблему, используйте код ниже:

Пример

<?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()функция используется, чтобы сначала удалить все недопустимые символы из переменной $email, а затем проверить, является ли это действительным адресом электронной почты:

Пример

<?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 = "https://www.w3schools.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

Полный справочник по всем функциям фильтра см. в нашем полном справочнике по фильтрам PHP. Проверьте каждый фильтр, чтобы узнать, какие параметры и флаги доступны.

Справочник содержит краткое описание и примеры использования для каждой функции!