Окт
20
2011

Защита ваших проектов на PHP

Здравствуйте сегодня хочу расказать о том как можно улучшить защиту вашего проекта.

Самый распространенный способ взламывания сайтов это - SQL Ingection. Тоесть внедрение sql кода в ваш сайт через адресную строку. Как это выглядит?? Вот краткий пример:

http://test.com/test.php?name=TEST'+UNION+SELECT+1,2,3+/*

* Это пример запроса не значит что именно он заработает.

И все хакеры имеют доступ к вашей базе ! Или им получится или ваш сайт выдаст «Warning ...» что тоже чревато поетому лучше все кавычки убирать перед запросом к бд вот пример:

$name = $_GET['name'];
$encode = array("'"=>"",'"'=>'',"/*"=>"");
$name = strtr($name,$encode);

До перекодировки:

TEST'+UNION+SELECT+1,2,3+/*

После:

TEST+UNION+SELECT+1,2,3+

После этого если вы сразу же возьмете переменную $name и сделаете запрос к бд то вам выдаст «Warning ...» что тоже лакомство для хакеров поетому делаем так:

/* Перекодировка запроса удаление кавычек */
$name = $_GET['name'];
$encode = array("'"=>"",'"'=>'',"/*"=>"");
$name = strtr($name,$encode);
/* Запрос к бд, @ - для подавления ошибок */
$r = @mysql_query("SELECT * FROM something WHERE name='$name'",$db);
$res = @mysql_fetch_array($r);
if(!$res) {
/* Выводим что в бд такого нет или лучше сразу редирект на страницу 404*/
exit("Такого нет :(");
 }
else { /* Выводим то-что нужно */ }

Ну вот это не идеальная защита так как можно php сайт взломать разными способами но теперь ваш сайт более защищенный. Пример рабочего скрипта вы можете увидеть на нашем портале: www.advertsmarket.net. Спасибо за внимание :)
Рекомендую украинский блог о интернете, android, и программировании:

Український Юзер. Інтернет, комп`ютер, мобільні технології.

Вам будет интересно прочитать и это:

Об авторе: Петро Бородатий

Создаю веб-сайты, пишу скрипты для популярных CMS, веду блог. Программист портала AdvertsMarket.net.

Оставить комментарий

Услуги

Веб-студия "MKSITE"

Реклама от Google

Социальные сети

Партнеры

Система Orphus