All
Компетентный
В этот раз я расскажу как защитить свой сайт от SQL инъекций. К примеру у нас есть ссылка
Что же нужно сделать чтобы защитить свой сайт? Нужно сделать проверку (является ли id числом). Вот собственно и код проверки:
Должно получиться так:
Теперь попробуйте в место id=11 прописать id=sql или id=11', вы увидите текст сообщающий о неверном URL, и sql запрос не выполнится)
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
если вместо 11 поставить какой либо символ, например sql
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
то скрипт выдаст ошибку. Таким образом взломщик может произвести запрос в базу данных, и вытащить интересующую его информацию (пароли, логины, e-mail и т.п.) Вот пример уязвимого скрипта:
PHP:
if(isset($_GET['id'])) {$id = $_GET['id'];}
if(!isset($id)) {$id = 1;}
//далее sql запрос
PHP:
if(!preg_match("|^[\d]+$|", $id)) {
exit("<p> Неверный URL!!!");
}
PHP:
if(isset($_GET['id'])) {$id = $_GET['id'];}
if(!isset($id)) {$id = 1;}
//Проверка
if(!preg_match("|^[\d]+$|", $id)) {
exit("<p> Неверный URL!!!");
}
//далее sql запрос
Теперь попробуйте в место id=11 прописать id=sql или id=11', вы увидите текст сообщающий о неверном URL, и sql запрос не выполнится)
By All
Последнее редактирование:
