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