PHP форум

PHP форум

Форум техподдержки WR-Скриптов на php. Здесь обсуждаются: основы программирования на PHP, различные подходы к реализации скриптов. А также WR-скрипты: Доски объявлений, скрипты форумов, Гостевые книги, Каталог ссылок, Галерея, Фотоальбом, Счётчики, Рассылки, Чат, Анекдот и т.д. Принимаются пожелания для новых версий. Пишите какой скрипт планируете увидеть, постараемся реализовать. Давайте сделаем бесплатные php скрипты лучше и доступны всем!!!
Главная сайтаГлавная сайта   ПоискПоиск   Участники  
Сегодня: 22.07.2018 - 05:20:14
Страницы:  1  
PHP форум » Защита от взлома » Защита от SQL-injection
АвторСообщение

HawkDoom

новичок




Статистика:
Тем создано: 2
Сообщений: 4
Репутация: -1 ±
Нарушения: 0
Защитить себя от SQL-injection
Сообщение # 1 27.12.08 - 16:44:07

HawkDoom

новичок




Статистика:
Тем создано: 2
Сообщений: 4
Репутация: -1 ±
Нарушения: 0
Защитить себя от SQL-injection можно таким простым способом:
создать файл такого содержания

<?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: //site.com"); exit; }
if(eregi('order(.*)by',$get_ar[$i])){ header("Location: //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: //site.com"); exit; }
if(eregi('order(.*)by',$post_ar[$i])){ header("Location: //site.com"); exit; }
}
?>

и включать его в самый верх скрипта в котором используется обращение к базе данных.
Не знаю почему до сих пор не придумали этот способ - уж очень много в интернете сайтов подверженных этой болезни.
Идея может и не нова но я дошёл до неё сам.
Вместо site.com укажите куда надо направлять хакера - это может быть страничка на вашем сайте например со статьей как нехорошо ломать сайты или посыланием его на х.. ну сообразите , если что обрасчайтеззь :)
Сообщение # 2 27.12.08 - 16:52:51

And

новичок




Статистика:
Тем создано: 0
Сообщений: 28
Репутация: 18 ±
Нарушения: 0
HawkDoom, это где-нибудь опробовано? работает?

Выходит это только "чисто теоретические предположения"...
Сообщение # 3 28.12.08 - 22:20:52

HawkDoom

новичок




Статистика:
Тем создано: 2
Сообщений: 4
Репутация: -1 ±
Нарушения: 0
And, хы , ты попробуй сначала а потом утверждай =)
я наверно просто так написал.

там только не header("Location: //site.com") а header("Location: http://site.com") вот
Сообщение # 4 08.02.09 - 14:48:24

AntiGun

Дружище





Статистика:
Тем создано: 21
Сообщений: 349
Репутация: 484 ±
Нарушения: 0
HawkDoom, защита от SQL-injection - это, конечно, хорошо. Но Вам разве не известно, что сей форум базы данных не использует вообще, а вместо них текстовые файлы. Так что, страшная SQL-injection не принесёт вреда. Или я чего-то не понимаю?
--------------------------------------------------
Будьте особенно осторожны на перекрёстках судьбы!
Сообщение # 5 11.02.09 - 18:07:43

ЗлобныйАнонимст



гость
Такая проверка на иньекцию обходится хакором элементарно например ununionion или UNioN
Сообщение # 6 10.03.09 - 13:56:08

Илья



гость
ЗлобныйАнонимст, да ты видимо хакер))) тогда кури маны)) функция
    Код:
    eregi();
является аналогом функции
    Код:
    ereg();
и отличается тем что игнорирует различия в регистре символов алфавита
Сообщение # 7 06.02.10 - 17:28:10

PHP_прогер

новичок




Статистика:
Тем создано: 0
Сообщений: 3
Репутация: 3 ±
Нарушения: 0
Люди, чтобы не было SQL инъекции, просто фильтруйте то, что кидаете в запрос. Допустим:


    Код:

    $sql = mysql_escape_string( $_GET['text'] );
    $query = mysql_query( "SELECT * FROM table WHERE text LIKE '%{$sql}%' ORDER BY id DESC" );

    // В случае с поиском, данный фильтр пропускает символы "%".
    // Чтобы запретить это:
    $sql = str_replace( "%", "", $sql );

    // Но этот символ не даст возможности испахабить запрос, поэтому инъекции не будет.
Сообщение # 8 14.06.10 - 11:24:37

PHP_прогер

новичок




Статистика:
Тем создано: 0
Сообщений: 3
Репутация: 3 ±
Нарушения: 0
Ну и ещё забыл написать. Данную функцию можете использовать конечно для цифр, но советую делать так:


    Код:

    // Допустим $_GET['number'] будет равно "56 а здесь sql хакера"

    $id = intval( $_GET['number'] );
    if( $id > 0 )
    {
    // Тут наш код
    }
    else
    {
    // Тут вывод ошибки, если нет номера.
    }

Сообщение # 9 14.06.10 - 11:29:30

hazik

специалист





Статистика:
Тем создано: 7
Сообщений: 1434
Репутация: 1055 ±
Нарушения: 0
PHP_прогер расскажи подробнее
--------------------------------------------------
http://apsheronsk-info.ru Универсальная Апшеронская доска объявлений
Сообщение # 10 18.06.10 - 00:02:56
PHP форум » Защита от взлома » Защита от SQL-injection
Защита от brute force атак :Предыдущая темаСледующая тема: Как вылечить перенаправление на вредоносные сайты
Страницы:  1  

Сообщение
Имя E-mail
Сообщение

Нажмите на точку возле имени, чтобы вставить обращение к участнику в сообщение

Смайлы:
Ещё смайлы

* При вставке видео с Ютубе нужно указывать только 'хвостик', например: BoUUbs3CvHs
           
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.1.1