Сайтостроительство (8)

PHP-кодинг (25)

Веб-дизайн (9)

DHTML/JavaScript (8)

Подкастинг (1)

Безопасность в PHP (3)

Секретный раздел

Карта блога

Регистрация пользователей на PHP+MySQL

Скрипт гостевой книги с красивым дизайном

Галерея на jQuery

Простая система регистрации пользователей на сессиях

Галерея на php+jquery

Форма обратной связи с защитой типа капча

Шаблоны запросов и placeholders

Быстрое перенаправление средствами php

Flash плеер для вашего сайта

Сортировка столбцов в таблице на php+mysql

Исправляем 2 CSS-бага в IE6.0 c помощью fix-заплаток

Встраиваем визуальный редактор

Форма обратной связи с защитой типа капча

Cистема навигации сайта

Сортировка столбцов в таблице на php+mysql

За весь период

За 2010-11

За 2009-06

За 2009-05

За 2009-04

За 2009-03

За 2009-02

За 2008-08

Бегун контекстная реклама

Ruseller видеоуроки

Letitbit файлообменник

Tak.Ru $$$ вебмастеру

WMmail почтовые рассылки

WMlink продажа трафика

Sape.Ru продажа ссылок

Главная » Безопасность в PHP

Защита от SQL-injection

Защитить себя от SQL-injection можно таким простым способом:
Cоздать файл такого содержания (см. листинг ниже) и включать его в самый верх скрипта в котором используется обращение к базе данных.


<!-- sql.php -->
<?
$get_ar = array_values($_GET);
$c_a_g = count($get_ar);
for ($i = 0;$i < $c_a_g;$i++){
if(eregi('union(.*)select',$get_ar[$i])){ header("Location: http://site.com"); exit; }
if(eregi('order(.*)by',$get_ar[$i])){ header("Location: http://site.com"); exit; }
}
$post_ar = array_values($_POST);
$c_a_p = count($post_ar);
for ($i = 0;$i < $c_a_p;$i++){
if(eregi('union(.*)select',$post_ar[$i])){ header("Location: http://site.com"); exit; }
if(eregi('order(.*)by',$post_ar[$i])){ header("Location: http://site.com"); exit; }
}
?>

Лучше всего создать этот файл в каком нибудь защищенном каталоге на сервере, например в том же blocks/ и просто подключить его один раз (с помощью инструкции include) в файл blocks.php на строчке, следующей сразу после инициализации соединенения с базой данных


$db = mysql_connect ("localhost","root","");
mysql_select_db("db",$db);
include("sql.php"); //подключаем

Вместо site.com укажите куда надо направлять хакера - это может быть страничка на вашем сайте, например со статьей как нехорошо ломать сайты или просто перенаправлять его на страничку 404.php, инициализирующую "ошибку доступа к странице".

Комментировать

Автор: admin | Добавлена: 17.05.2009 | Просмотров: 13809
Рейтинг: 53 | Голосов: 11

Оцените заметку: 1 2 3 4 5

Последние обновления в категории: Безопасность в PHP

Комментарии (0)

Комментариев пока нет!

Только авторизованные пользователи могут добавлять комментарии. Зарегистрироваться.

Логин:
Пароль:
 

Регистрация

: Тема:

Заметок в базе: 56
Комментариев: 0
Всего юзеров: 114
Сейчас онлайн: 1