✅ Новости WEB и WordPress, темы, плагины. Здесь мы делимся советами и лучшими решениями для веб-сайтов.

Вы должны использовать функции фильтрации PHP, часть 1

8

Я говорил о очистке данных в WordPress в предыдущих постах. Эта тема важна не только для тех из нас, кто работает над созданием решений для других в WordPress, но и для тех, кто пишет код, который будет напрямую взаимодействовать с базой данных через PHP.

Конечно, существуют нативные функции WordPress, которые упрощают этот процесс, но есть и встроенные функции фильтрации PHP, которые помогают в этом. А именно filter_varи filter_inputи это вещи, которые, я думаю, полезно знать разработчикам PHP.

Функции фильтрации PHP, часть 1: переменные

Фильтрация переменных осуществляется filter_varфункцией с соответствующим названием. Официальное определение:

Фильтрует переменную с указанным фильтром

Руководство по PHP

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

Так что, если вы привыкли работать, скажем, с логическими значениями, целыми числами, адресами электронной почты и т. д. (а кто нет?), то это имеет больше смысла, не так ли? То есть, если вам нужно обеспечить некоторую проверку этих типов значений, это может помочь.

Что здорово, так это то, что независимо от того, что вы фильтруете, затем filter_varбудет возвращаться falseвсякий раз, когда фильтр терпит неудачу.

Допустим, вы хотите отфильтровать адрес электронной почты, тогда вы можете сделать что-то вроде этого:

  • filter_var($emailAddress, FILTER_VALIDATE_EMAIL);

Конечно, это не без некоторых ошибок. Например, он не будет проверять нелатинские домены. Подробнее об этом на мгновение.

В любом случае, возможно, вы хотите отфильтровать другие типы значений:

  • filter_var($url, FILTER_VALIDATE_URL)
  • filter_var('1001', FILTER_VALIDATE_INT)

И вы можете сделать их более сложными в зависимости от ваших потребностей. Скажем, например, вам нужно определить, является ли IP-адрес общедоступным. Затем вы можете использовать что-то более сложное, например:

  • filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE)

Дело в том, что важно знать, как filter_varработает, а также какие фильтры доступны. Вот где полезность этого вступает в игру. С этой целью я настоятельно рекомендую ознакомиться с фильтрами проверки, которые предлагает PHP.

Наконец, помните примечание выше о нелатинских доменах с адресами электронной почты? Есть несколько подобных случаев с определенными функциями, которые вам нужно будет просмотреть, что говорится в руководстве относительно определенных URL-адресов, доменов и т. д., прежде чем использовать их.

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

Как насчет фильтрации входных данных?

Если у вас есть опыт работы с такими переменными, как $_GETи $_POST, то для этого есть еще одна функция фильтрации.

А в следующем посте я расскажу, как лучше всего использовать те, что традиционно используют многие из нас.

Источник записи: tommcfarlin.com

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