✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Ви повинні використовувати функції фільтрації PHP, частина 1

5

Я говорив про очищення даних у 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, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі