Input validation with filter functions

Introduction
Although PHP has a lot of filter functions available, I found that still to many people are using (often incorrect) regular expressions to validate user input. The filter extension is simple, standard available and will fulfill the common validations. Below some pratical examples and things to consider when working with PHP filter functions.

Which are available?
Below a shameless copy paste of the PHP documentation.

  • filter_has_var — Checks if variable of specified type exists
  • filter_id — Returns the filter ID belonging to a named filter
  • filter_input_array — Gets external variables and optionally filters them
  • filter_input — Gets a specific external variable by name and optionally filters it
  • filter_list — Returns a list of all supported filters
  • filter_var_array — Gets multiple variables and optionally filters them
  • filter_var — Filters a variable with a specified filter

Pratical use

Sanitizing
“Filter input escape output” every developer knows this but it is a repetitive job but with the filter extension filterering input became a lot easier. When you correctly filter input you drastically lower the change of application vulnerabilities.

Sanitizing a single variable

$sText = ' ';
$sText = filter_var($sText, FILTER_SANITIZE_STRING);
echo $sText; // This is a comment from a alert("scriptkiddie");

Sanitizing multiple variables, same principle as above but with an array, the filter will sanitize all values inside the array

filter_var_array($_POST, FILTER_SANITIZE_STRING);

Validating an email address

if(filter_var($sEmail, FILTER_VALIDATE_EMAIL) === false) {
     $this->addError('Invalid email address', $sEmail);
}

Validation a complete array
Validating all your data at once with a single filter will make your code clear, all in one place and is more easy to maintain an example below.

$aData = array(
	'student'	=> 'Sjoerd Maessen',
	'class'		=> '21',
	'grades' => array(
			'math' => 9,
			'geography' => 66,
			'gymnastics' => 7.5
	)
);

$aValidation = array(
	'student'	=> FILTER_SANITIZE_STRING,
	'class'		=> FILTER_VALIDATE_INT,
	'grades'	=> array(
				'filter' => FILTER_VALIDATE_INT,
				'flags'	 => FILTER_FORCE_ARRAY,
				'options'=> array('min_range'=>0, 'max_range'=>10))
);

echo '
';
var_dump(filter_var_array($aData, $aValidation));

/*array(3) {
  ["student"]=>
  string(14) "Sjoerd Maessen"
  ["class"]=>
  int(21) // Thats strange, my string is converted
  ["grades"]=>
  array(3) {
    ["math"]=>
    int(9)
    ["geography"]=>
    bool(false) // 66 is > 10
    ["gymnastics"]=>
    bool(false) // 7.5 is not an int
  }
}*/

Note: okay I did not expect that the string '21' would validate true against FILTER_VALIDATE_INT, after some more testing I also noticed that min_range and max_range only work with FILTER_VALIDATE_INT, when using floats or scalars the options are just ignored, so be aware!

The sanitizing examples above can be made easily more restrictive by adding flags like FILTER_FLAG_STRIP_LOW to the sanitize filter, FILTER_FLAG_STRIP_LOW will for example strip all characters that have a numerical value below 32.

Things to consider
Although the filter functions are some time available some of them aren't flawless, at some points the documentation is missing or very unclear. Another example is the filter_var validation for IPv6 addresses. (see bug report #50117). So it is always a good thing to check if the filter is really doing what you expect it does. Write testcases before using. If you use it correctly you can write your validations in the blink of an eye, and this extension will be your new best friend.

Links
Filter functions
Filter flags

Comments

1,899 responses to “Input validation with filter functions”

  1. StevenGroxy Avatar

    ко ланта отели ко ланта аэропорт — на острове собственного аэропорта нет, поэтому прямого рейса сюда обычно не существует. Ближайшие крупные аэропорты — Krabi International (KBV) и Trang Airport (TST). По прибытии можно взять такси или мини-автобус к пирсу Saladan и доплыть паромом до назначения. В сезон чартеры и частные лодки иногда предлагают прямые трансферы, но чаще всего маршрут складывается из перелёта на материк и переправы на Ко Ланту. Планируйте путешествие с учётом времени на дорогу и погодные условия, особенно если вы летите в высокий сезон.

  2. Elvinavaib Avatar

    Официальный сайт букмекерской компании : https://tako-text.ru/

  3. StevenGroxy Avatar

    пхукет ко ланта как добраться Ко Ланта пляжи — главный акцент для отдыхающих: здесь встречаются просторные длинные песчаные линии и укромные бухточки с прозрачной водой. Long Beach (Pra Ae) тянется вдоль длинной береговой линии и идеально подходит для прогулок и ужинов у моря, Klong Dao Beach радует спокойной лагуной и пологим входом, что нравится семьям с малышами, а Kantiang Bay окружён зеленью и скалами, создавая романтичную обстановку для вечеров. В окрестностях встречаются quieter участки, например Ba Kantiang Beach и пляжи у маяка, где можно насладиться моментами тишины и дайвинга в небольших точках. Важно помнить: часть пляжей лучше рано утром или за полдень — тогда вода наиболее чистая и безмятежная, а к вечеру уровень волн может возрастать, превращая побережье в красочное полотно закатов.

  4. SteveMar Avatar
    SteveMar

    north canadian pharmacy https://viagranewark.xyz/# ViagraNewark

  5. DanielLox Avatar

    Ed Pills Afib: ed drugs online – EdPillsAfib

  6. Williamopete Avatar
    Williamopete

    buy Viagra over the counter ViagraNewark Cheap generic Viagra

  7. StevenGroxy Avatar

    погода ко ланта Мой итог: Ко Ланта — отличный выбор для спокойного, расслабляющего островного отдыха с богатой природой, вкусной тайской кухней и разумными ценами. Здесь можно сочетать плавание, прогулки по джунглям и побережью, закаты и дегустацию морепродуктов. Остров не переполнен толпами, и вы легко найдёте стиль отдыха под свой темп. Если хотите полностью отключиться от городской суеты — обязательно посетите Ко Ланту и дайте себе время просто быть в гармонии с морем

  8. StevenGroxy Avatar

    ко ланта что посмотреть Остров Ко Ланта в Тайланде — настоящий тропический уголок в Андаманском море, который часто выбирают за спокойствие и разнообразие природы. Здесь переплетены два главных острова — Ко Ланта Йай и Ко Ланта Ной, соединённых мостом и рядом паромных переправ; добраться можно не только по морю, но и через материк, что делает маршрут гибким и удобным. Климат здесь во многом определяет настроение отдыха: сухой сезон с ноября по апрель дарит ясное небо и тёплое море, влажный сезон с мая по октябрь приносит короткие ливни и ветры, но всё ещё остаётся теплом вода и зелёные джунгли. Ко Ланта славится расслабленной атмосферой, уютными пляжами и маленькими бухтами, где можно потеряться от суеты больших курортов. Остров активно сохраняет природное равновесие: здесь много тропических растений, мангровые рты и заповедные участки, которые гармонично дополняют комфортные виллы и семейные гостевые дома.

  9. JamesHow Avatar

    ViagraNewark: Generic Viagra online – ViagraNewark

  10. StevenGroxy Avatar

    ко ланта на карте ко ланта аэропорт — На Ко Ланте собственного аэропорта нет. Практически все гости прибывают через Krabi International (KBV) или Phuket International (HKT). По прибытии путешественники едут на материк и далее на паром через Ban Saladan на Ko Lanta Yai. В редких случаях доступен внутренний воздушной чартер на небольшие аэродромы, но такие варианты требуют согласований и обычно относятся к эксклюзивным сервисам. Эта структура делает путешествие немного длиннее, но добавляет маршруту атмосферу приключения и плавное погружение в природу острова.

  11. DanielLox Avatar

    cheapest ed meds: Ed Pills Afib – EdPillsAfib

  12. StevenGroxy Avatar

    пляжи ко ланты Пляжи Ко Ланты — в разных участках острова можно сочетать пляжный релакс с активностями: романтические вечера у Ba Kan Tiang и Kantiang Bay, активный отдых и семейные дни на Long Beach и Klong Dao, сноркелинг и лодочные экскурсии у южных берегов к коралловым рифам. Старый город и восточное побережье предлагают не только пляжи, но и культурный опыт: рынки, кафе на набережной и возможность познакомиться с местной кухней. Инфраструктура умеренная, поэтому стоит планировать передвижения и аренду транспорта заранее — это экономит время и обеспечивает большую гибкость. Не забывайте сезонность: зима часто благоприятна для плавания и спокойной погоды, лето приносит тёплую воду, но и риск дождей.

  13. Williamopete Avatar
    Williamopete

    ViagraNewark ViagraNewark Viagra Newark

  14. SteveMar Avatar
    SteveMar

    trusted online pharmacy http://corpharmacy.com/# reddit canadian pharmacy

  15. JamesHow Avatar

    Viagra Newark: Viagra Newark – Viagra Newark

  16. StevenGroxy Avatar

    где ко ланта ко ланта что посмотреть — главные достопримечательности включают Mu Ko Lanta National Park с тропами и мангровыми берегами, старый город Lanta Old Town с колониальной атмосферой и рынками, а также живописные смотровые площадки на северо-западе и юге. Не пропустите пляжи Long Beach, Kantiang Bay, Klong Nin и Ba Kan Tiang, где можно сочетать плавание, сноркелинг и морские прогулки. Любители природы найдут тропы через mangrove forests и небольшие коралловые бухты; водные развлечения включают сноркелинг у близлежащих островов Koh Rok и Koh Ha. Стоит попробовать местную кухню на рынках Saladan и в прибрежных кафешках: здесь свежие морепродукты и тайские блюда доступны по разумным ценам.

  17. SteveMar Avatar
    SteveMar

    best online international pharmacies http://corpharmacy.com/# peoples pharmacy

  18. DanielLox Avatar

    EdPillsAfib: Ed Pills Afib – EdPillsAfib

  19. Williamopete Avatar
    Williamopete

    CorPharmacy Cor Pharmacy no prescription needed pharmacy

  20. DennisSoynC Avatar

    трипскан сайт вход трипскан ссылка — обсуждение структуры и назначения веб-ссылок на ресурсы TripScan. В таких материалах объясняют, как правильно формировать и проверять URL: официальный домен, протокол https, наличие SSL, корректность путей и параметров. Описывают, как переходить на нужные разделы: главная страница, поиск маршрутов, вход, регистрация, блог, поддержка. Важно уделить внимание безопасности кликов, предупреждать о фишинге и сомнительных зеркалах. В SEO можно перечислять запросы «трипскан ссылка», «TripScan ссылка вход», «перейти на сайт TripScan» и варианты локализации.

  21. StevenGroxy Avatar

    ко ланта аэропорт Остров ко ланта в тайланде — это двойной островной ансамбль в Андаманском море, относящийся к провинции Крабі. Основной остров Ко Ланта Яй (Ko Lanta Yai) соединён мостами и узкими дорогами с небольшим Ko Lanta Noi, образуя спокойную и неторопливую атмосферу, далёкую от шумных курортов континентальной части Таиланда. Остров известен длинной береговой линией, пальмовыми бухтами и зелёными холмами, покрытыми мангровыми лесами и ландшафтами, которые идеально подходят для отдыха, семейных каникул и онлайн-работы в расслабленной обстановке. Здесь сосредоточены главные туристические районы — от уютных гестхаусов в прибрежных деревнях до роскошных вилл в укромных бухтах. Доступ на Ko Lanta обычно начинается с перелёта до ближайших аэропортов, затем поездка на пароме через контуры побережья, что добавляет путешествию элемент приключения и медленного темпа.

  22. Michaellog Avatar

    обновление остатков на маркетплейсах Синхронизация остатков на маркетплейсах: Автоматическая синхронизация, экономьте время, минимизируйте ошибки, управляйте запасами эффективно.

  23. JamesHow Avatar

    buy erectile dysfunction medication: Ed Pills Afib – low cost ed meds

  24. WilliamBof Avatar

    1xbet промокод на сегодня 2026. Чтобы удовлетворить игроков, букмекеры постоянно добавляют новые функции и предложения. Одним из лидеров является 1хБет. Ввод промокода при регистрации позволяет получить увеличенную сумму бонуса. После создания аккаунта внеси первый депозит (до 32 500 рублей) — и получи вознаграждение. Абсолютно бесплатный 1xBet промокод на фриспины доступен всем новичкам, чтобы активировать дополнительные преимущества. Игнорировать поле «Введите промокод» — значит потерять выгоду. Оно присутствует при трёх из четырёх способов регистрации (в 1 клик).

  25. DanielLox Avatar

    cost of ed meds: ed medicines online – EdPillsAfib

  26. Williamopete Avatar
    Williamopete

    all med pharmacy Cor Pharmacy canadian family pharmacy

  27. SteveMar Avatar
    SteveMar

    canadian online pharmacy reviews https://viagranewark.com/# ViagraNewark

  28. SteveMar Avatar
    SteveMar

    internet pharmacies https://edpillsafib.com/# EdPillsAfib

  29. DennisSoynC Avatar

    трипскан ссылка Трипскан сайт вход: Легкий и быстрый доступ к вашему аккаунту для управления бронированиями и получения персональных предложений.

  30. StevenGroxy Avatar

    как добраться до ко ланты Паром Ко Ланта — один из самых удобных способов попасть на остров и начать знакомство с его берегами. Основные маршруты проходят из Krabi Town, Ao Nang и Ban Saladan, с посадкой на Ko Lanta Yai; продолжительность обычно 2–3 часа, в зависимости от типа судна и погодных условий. Есть медленные паромы, которые дешевле и позволяют насладиться морскими видами, и более быстрые катеры, экономящие время, но требующие большего бюджета. В сезон монсунов расписание может меняться, поэтому рекомендуется бронировать заранее и сверять статус накануне выезда. Частные чартеры и трансферы из Krabi и Phuket тоже встречаются, особенно для групп или семей, которые хотят максимально комфортно добраться до пирсов на Ко Ланте.

  31. Williamopete Avatar
    Williamopete

    ViagraNewark ViagraNewark ViagraNewark

  32. DanielLox Avatar

    ViagraNewark: buy viagra here – Viagra Newark

  33. JamesHow Avatar

    Ed Pills Afib: EdPillsAfib – EdPillsAfib

  34. StevenGroxy Avatar

    ко ланта аэропорт Ко Ланта пляжи — главный акцент для отдыхающих: здесь встречаются просторные длинные песчаные линии и укромные бухточки с прозрачной водой. Long Beach (Pra Ae) тянется вдоль длинной береговой линии и идеально подходит для прогулок и ужинов у моря, Klong Dao Beach радует спокойной лагуной и пологим входом, что нравится семьям с малышами, а Kantiang Bay окружён зеленью и скалами, создавая романтичную обстановку для вечеров. В окрестностях встречаются quieter участки, например Ba Kantiang Beach и пляжи у маяка, где можно насладиться моментами тишины и дайвинга в небольших точках. Важно помнить: часть пляжей лучше рано утром или за полдень — тогда вода наиболее чистая и безмятежная, а к вечеру уровень волн может возрастать, превращая побережье в красочное полотно закатов.

  35. DanielLox Avatar

    Ed Pills Afib: EdPillsAfib – EdPillsAfib

  36. Williamopete Avatar
    Williamopete

    CorPharmacy CorPharmacy Cor Pharmacy

  37. DarrylVah Avatar

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

  38. SteveMar Avatar
    SteveMar

    highest rated canadian pharmacies http://edpillsafib.com/# what is the cheapest ed medication

  39. JamesHow Avatar

    CorPharmacy: CorPharmacy – CorPharmacy

  40. DennisSoynC Avatar

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

  41. SteveMar Avatar
    SteveMar

    canadian drugstore viagra https://edpillsafib.com/# Ed Pills Afib

Leave a Reply

Your email address will not be published. Required fields are marked *