[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита от взлома с помощью is_numeric()
ak167
Привет всем!

Раньше я всегда проверял id, передаваемый GET-методом с помощью preg_match или preg_replace. Например, адрес index.php?id=123';include...
обрабатывался и работал как index.php?id=123.
Но вот я как-то раз наткнулся в интернете на функцию is_numeric(), которая определяет является ли переданное ей значение числом или нет.
Как на ваш взгляд стоит ли ее использовать вместо preg_match или preg_replace?



Спустя 6 минут, 26 секунд (8.11.2010 - 14:38) Семён написал(а):
Я за регулярки. в cakephp тоже регулярки используются

Спустя 2 минуты, 40 секунд (8.11.2010 - 14:41) Sanchopansa написал(а):
а я за intval() или (int) smile.gif

Спустя 26 минут, 58 секунд (8.11.2010 - 15:08) linker написал(а):
Используй is_numeric() или явно приводи к целочисленному значению
$a = (integer)$_GET['a'];
И не смотри на всякие CakePHP, Zend и прочие фреймворки, делай как нужно и быстрее.

Спустя 1 минута, 30 секунд (8.11.2010 - 15:09) Basili4 написал(а):
(int) cделает из 123фацуацукапукап, 123 а регулярки слишком медленно

Спустя 10 минут, 24 секунды (8.11.2010 - 15:20) Семён написал(а):
Я уже как-то доказывал вам в конкурсе, что регулярки - не медленно.

Спустя 1 минута, 47 секунд (8.11.2010 - 15:21) linker написал(а):
По сравнению с
(integer)$_GET['blabla']
ну очень медленно.

Спустя 3 минуты, 40 секунд (8.11.2010 - 15:25) Семён написал(а):
linker
Для данного случая согласен, но в большинстве чуть более усложнённых задач, регулярки самое-то, да и опять же, для большой длины работать ведь не будет. smile.gif

Спустя 1 час, 11 минут, 14 секунд (8.11.2010 - 16:36) Sanchopansa написал(а):
Хорошо.. а как на счет в ПХП 5 вункций серии filter_var();

$a = filter_var($_GET['id'], FILTER_SANITIZE_NUMBER_INT);

Спустя 7 минут, 6 секунд (8.11.2010 - 16:43) Семён написал(а):
Sanchopansa >= 5.2.0

Спустя 1 минута, 36 секунд (8.11.2010 - 16:45) Sanchopansa написал(а):
Семён ну я не стал углоблятся в подробности smile.gif

Спустя 2 минуты, 18 секунд (8.11.2010 - 16:47) Семён написал(а):
Sanchopansa, это крайне важно, для быстрой смены хостера )))

Спустя 6 минут, 2 секунды (8.11.2010 - 16:53) Sanchopansa написал(а):
ну всегда можно написать проверку для универсальности скрипта типа:
if(!function_exists('filter_var')){
function filter_var(){
//переопределение функции
}
}

Если большой проект или просто проверять и использовать другие варианты фильтрациии
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.