Доступ к готовым решениям

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Защита сайта от SQL инъекций

Статус
В этой теме нельзя размещать новые ответы.

All

Компетентный
В этот раз я расскажу как защитить свой сайт от SQL инъекций. К примеру у нас есть ссылка если вместо 11 поставить какой либо символ, например sql то скрипт выдаст ошибку. Таким образом взломщик может произвести запрос в базу данных, и вытащить интересующую его информацию (пароли, логины, e-mail и т.п.) Вот пример уязвимого скрипта:
PHP:
if(isset($_GET['id'])) {$id = $_GET['id'];} 
if(!isset($id)) {$id = 1;} 
//далее sql запрос
Что же нужно сделать чтобы защитить свой сайт? Нужно сделать проверку (является ли id числом). Вот собственно и код проверки:
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​
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу