|
|
|
| Добрый день!
Меня интересует вопрос по обработке переменных, которые мы получаем от пользователя.
Вполне понятно, что в гостевой книге или на форуме жизненно необходимо обрабатывать сообщение.
Но, если мы получаем GET-переменную от пользователя. К примеру, переадресовываем его на страницу с id=3. Нужна ли здесь обработка GET-переменной?
В моем случае, я пишу систему администрирования, обратившись за идеей к книге "PHP5 Практика создания web-сайтов". В ней GET-переменные принимаются без обработки. | |
|
|
|
|
|
|
|
для: HASHCODE
(03.08.2006 в 23:31)
| | Ты про безопасность?
Проверять надо все, лично я для числовых переменных, передающихся через GET или POST использую следующую функцию:
<?
function intprotect($what) {
if((string)$what<>(string)(int)$what) {
die('Ахтунг, ф каментах хаксоры!!!');
}
else {
return $what;
}
}
?>
|
| |
|
|
|
|
|
|
|
для: cyberface
(03.08.2006 в 23:46)
| | Спасибо. Я именно про безопасность и спрашивал.
Т. е. при передаче через GET любого целого числа вполне достаточно попробовать перевести его в целое число из строки? | |
|
|
|
|
|
|
|
для: HASHCODE
(04.08.2006 в 06:37)
| | Совершенно верно. | |
|
|
|
|
|
|
|
для: HASHCODE
(03.08.2006 в 23:31)
| | Можно и так поступить:
$id = (($_GET['id']) || intval($id))?$_GET['id']:null;
| Вместо null можно написать любое значение. Например, для постраничной навигации я когда-то сделал так:
$page = (($_GET['page']) || intval($page))?$_GET['page']:1;
|
| |
|
|
|
|
автор: WinT (04.08.2006 в 01:46) |
|
|
для: Alex Kraft
(04.08.2006 в 00:15)
| | cyberface, а по-подробней можно, что именно эта функция осуществляет. | |
|
|
|
|
|
|
|
для: WinT
(04.08.2006 в 01:46)
| | $id = (int) $_GET['id']) | |
|
|
|