[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита переменных в URL строке браузера
in9emix
Здравствуйте, подскажите как можно защитить переменные отправленные методом $_GET ?
Пока что сайт защищен htaccess, но я думаю этого не достаточно. Так как он не спасет от например:

www.сайт.ру/lesson/16 UNION * lessons WHERE lesson="$proba" ...... к примеру

Суть такова, что нужно сделать надежную защиту для сайта.



Спустя 6 часов, 14 минут, 35 секунд (30.06.2012 - 07:10) Эли4ка написал(а):
in9emix
mysql_real_escape_string,htmlspecialchars

Спустя 49 секунд (30.06.2012 - 07:10) fdr написал(а):
Цитата
www.сайт.ру/lesson/16 UNION * lessons WHERE lesson="$proba"

Для этого можно использовать mysql_real_escape_string ()
А так в общем все входяшие данные перед их использование нужно проверять)))

Спустя 32 минуты, 16 секунд (30.06.2012 - 07:43) in9emix написал(а):
Спасибо =)) Всё получилось biggrin.gif

Спустя 3 минуты, 14 секунд (30.06.2012 - 07:46) in9emix написал(а):
А если переменная == цифре, я могу вместо mysql_real_escape_string() юзать intval() ?

Спустя 1 час, 37 минут, 43 секунды (30.06.2012 - 09:24) ИНСИ написал(а):
in9emix используй преобразование в число: (int)
Цитата
UNION * lessons WHERE lesson="$proba" ...... к примеру

Для таких методов, необходимо выставить не все права пользователю для работы с БД, а только основные, с которыми он работает.

Часто пользователь работает только с: SELECT, UPDATE, DELETE, INSERT. Их и ставьте, остальные отключите.

Также можно заменять такие команды, к примеру:
function check($value = '') {
$arr = array(
's e l e c t' => 'select', 'i n s e r t' => 'insert', 'u p d a t e' => 'update', 'd e l e t e' => 'delete', 'u n i o n' => 'union'
);

foreach($arr as $key => $info)
$value = str_ireplace($info, $key, $value);

return $value;
}

Даже если попытаются выполнить запрос, ничего не получится. Это конечно если вы все переменные проверяете.
Быстрый ответ:

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