ЛУЧШИЙ САЙТ ДЛЯ РАЗРАБОТЧИКОВ
×

PHP учебник

PHP HOME PHP Intro PHP Install PHP Syntax PHP Variables PHP Echo / Print PHP Data Types PHP Strings PHP Constants PHP Operators PHP If...Else...Elseif PHP Switch PHP While Loops PHP For Loops PHP Functions PHP Arrays PHP Sorting Arrays PHP Superglobals

PHP Forms

PHP Form Handling PHP Form Validation PHP Form Required PHP Form URL/E-mail PHP Form Complete

PHP Advanced

PHP Arrays Multi PHP Date and Time PHP Include PHP File Handling PHP File Open/Read PHP File Create/Write PHP File Upload PHP Cookies PHP Sessions PHP Filters PHP Filters Advanced PHP Error Handling PHP Exception

MySQL Database

MySQL Database MySQL Connect MySQL Create DB MySQL Create Table MySQL Insert Data MySQL Get Last ID MySQL Insert Multiple MySQL Prepared MySQL Select Data MySQL Delete Data MySQL Update Data MySQL Limit Data

PHP - XML

PHP XML Parsers PHP SimpleXML Parser PHP SimpleXML - Get PHP XML Expat PHP XML DOM

PHP - AJAX

AJAX Intro AJAX PHP AJAX Database AJAX XML AJAX Live Search AJAX RSS Reader AJAX Poll

PHP Examples


PHP Reference

PHP Overview PHP Array PHP Calendar 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 SimpleXML PHP String PHP XML PHP Zip PHP Timezones


PHP Фильтры


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

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


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

PHP фильтры используются для проверки и дезинфекции внешних входных данных.

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

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");
}
?>

Совет: филтер_вар () и проблема с 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://html5css.ru";

// 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-фильтр. Проверьте каждый фильтр, чтобы узнать, какие параметры и флаги доступны.

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