Введение в фильтры PHP

Очень немногие языки имеют функции фильтра. Фильтры являются одной из дополнительных функций языков программирования. Это помогает нам фильтровать данные или строку перед обработкой. Это вызов времени, чтобы использовать это, чтобы предотвратить некоторые проблемы уязвимости в системе. Фильтры PHP можно использовать для проверки или дезинфекции внешних входных данных. По сути, PHP-фильтр - это расширение, которое предлагает различные функции и функции, которые мы можем использовать при кодировании. Например, мы принимаем данные клиента из формы в качестве идентификатора электронной почты, мы должны проверить или очистить перед операцией, связанной с базой данных. Мы, как программист или разработчик, должны использовать эти фильтры в PHP в соответствии с потребностями нашего бизнеса и требованиями.

Синтаксис

Санитарная обработка и фильтры являются наиболее распространенными операциями в среде веб-приложений. Вот основной синтаксис:

filter_var(variable, filter, options)

Эта функция filter_var принимает 3 параметра. Последние 2 параметра, фильтр и параметры являются необязательными. Первый - это переменная или сами идентификаторы. Это то, что мы хотим отфильтровать, второе - это то, что мы хотим сделать (в этом мы в основном передаем идентификатор доступных опций в PHP), а последнее - это опции, связанные с фильтром. Давайте разберемся с примером викторины:

<_?php
$int_val = 200;
if(filter_var($int_val, FILTER_VALIDATE_INT))(
echo "The $int_val is a valid one."; // valid
) else(
echo "The $int_val not a valid input as an integer"; // invalid
)
?>

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

Выход:

Почему мы используем фильтр в PHP?

Многие веб-приложения PHP получают внешний вход со стороны клиента. Идея, лежащая в основе этого, состоит в том, чтобы очистить пользовательский ввод перед обработкой, поскольку мы не можем ожидать от пользователя правильного размещения всех данных. Любой ввод данных или данных от внешнего пользователя или системы может привести к критической проблеме безопасности.

Мы можем отфильтровать здесь, чтобы очистить данные, введенные из различных внешних источников, таких как:

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

Фильтры PHP и дезинфицирующие средства вместе дают нам возможность узнать, действителен ли ввод или нет. Если не правильный вход, в этом случае мы можем очистить его, чтобы сделать правильный. В следующем разделе примеров мы приведем различные примеры, связанные с этим.

Пример фильтра

В PHP доступны различные типы фильтров. Мы можем проверить этот список с помощью функции filter_list (). По сути, эти функции фильтра можно использовать для фильтрации URL-адреса, строки, номера, IP-адреса и т. Д.

Пример № 1

В этом разделе мы увидим различные примеры фильтров по одной.

Дезинфицировать строку

Чтобы проверить, является ли строка действительной или нет

<_?php
$comment = "Hello word";
if(filter_var($comment, FILTER_SANITIZE_STRING))(
echo "The $comment is a valid one."; // valid
) else(
echo "The $comment not a valid input"; // invalid
)
?>

В приведенном выше примере мы видим правильную строку, поэтому она дает правильную.

Выход:

Получите очищенную строку как вывод

<_?php
$comment = " Hello word ";
echo "Before sanitizing: ". $comment;
$comment = filter_var($comment, FILTER_SANITIZE_STRING);
echo "
"; // for new line
echo "After sanitizing: ". $comment;
?>

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

Выход:

Пример № 2

Проверьте IP-адрес

Функция фильтра PHP может сделать эту работу за нас. Давайте посмотрим на пример.

<_?php
$ip_address = "172.16.254.1:40";
if(filter_var($ip_address, FILTER_VALIDATE_IP))(
echo "The $ip_address is a valid one."; // valid
) else(
echo "The $ip_address is not a valid input"; // invalid
)
?>

Выход:

Пример № 3

Санитарная обработка и проверка адреса электронной почты

<_?php
$email_address = " @testmail.com";
code>
echo "Before Sanitizing: " . $email_address ."
";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($email_address, FILTER_SANITIZE_EMAIL);
?>

В приведенном выше примере у нас есть недопустимое значение для идентификатора электронной почты, поскольку мы получаем этот вывод с помощью функции фильтра. Но в тот момент, когда мы проводим санитарную обработку, мы получаем правильный адрес электронной почты.

Выход:

<_?php
$email_address = " ";
if(filter_var($email_address, FILTER_VALIDATE_EMAIL))(
echo "The $email_address is a valid one."; // valid
) else(
echo "The $email_address not a valid input"; // invalid
)
?>

В приведенном выше примере PHP-кода мы проверяем, является ли электронная почта действительной или нет.

Выход:

Пример № 4

Санировать и проверять URL

В этом примере мы увидим, является ли входной URL действительным или нет? Если не правильный URL-адрес, он исправит это, чтобы сделать его правильным.

<_?php
$URL = "https://www.educba.com/ courses ";
echo "Before Sanitizing: " . $URL ."
";
if(filter_var($URL, FILTER_VALIDATE_URL))(
echo "The $URL is a valid one."; // valid
) else(
echo "The $URL is not a valid input"; // invalid
)
echo "
";
echo "After Sanitizing: " . filter_var($URL, FILTER_SANITIZE_URL);
?>

Выход:

Вывод

Мы должны использовать PHP-фильтр для проверки или дезинфекции ввода пользователя. Таким образом, мы можем ограничить ввод уязвимых пользователей. Мы можем использовать различные функции фильтра PHP для проверки ввода пользователя и значения. Мы также можем пойти на санитарную обработку, чтобы очистить значение (либо пользовательский ввод, либо непосредственно назначенный). Мы всегда должны использовать дезинфицирующее средство PHP, прежде чем использовать какие-либо файлы cookie для обработки данных.

Рекомендуемые статьи

Это было руководство по фильтрам PHP. Здесь мы также обсудим синтаксис, почему мы используем фильтр в PHP и примеры. Вы также можете взглянуть на следующие статьи, чтобы узнать больше:

  1. PHP фреймворки
  2. Tableau Context Filter
  3. Что такое Angular 2?
  4. Mantis Bug Tracker
  5. Как Cookies работают в JavaScript с примером?