хорошая защита от SQL-инъекций - пример, sql injection
Артем™ ☻
26 ноября 2016 15:07
1


Идеолог
  • 119
Репутация: 3
Сообщений: 1624
Регистрация: 17.09.2014

Многие Вебмастера наверно слышали про такой метод взлома сайтов как SQL Иньекция - и наверно не все знают про способ защтиы...

 

Вот код который нужно вставлять в главный файл обработчик сайта к примеру вначале кода index.php

 

foreach ($_GET as $k=>&$v)
    if ((
strpos($k'_SERVER') === false) && (strpos($k'_SESSION') === false))
    {
        
$v str_replace("'"""$v);
        $
$k $v;
    }

foreach (
$_POST as $k=>&$v)
    if ((
strpos($k'_SERVER') === false) && (strpos($k'_SESSION') === false))
    {
        
$v str_replace("'"""$v);
        $
$k $v;
    }

foreach (
$_COOKIE as $k=>&$v)
    if ((
strpos($k'_SERVER') === false) && (strpos($k'_SESSION') === false))
    {
        
$v str_replace("'"""$v);
        $
$k $v;
    }
unset(
$v);  

 

 

удаление опострофа можно поменять на заему на чтото другое , и также можно защитить такими методами замена запросов UNIOIN SELECT , _GROUP _BY ...

 

Вообщем почитайте и заменяйте все запросы GET и POST на своем сайте - чтобы предостеречь все формы от SQL Injection


Сообщение отредактировал artem - 26 ноября 2016 15:09
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Задумался о многом - и пришел к выводу что - "много думать вредно, но интересно"
1
Редис
26 ноября 2016 15:13
2


спецы
  • 85
Репутация: 0
Сообщений: 302
Регистрация: 25.08.2014

Взято это отсюда http://proksey-net.livejournal.com/942.html

 

и проверено на работоспособность !

 

Что пишет автор на эту тему ...

 

А защита от инъекций пишется в начале общего файла, типа include_all.php

 

Конструкция Unset($v) обязательна, т.к. php сохраняет ссылку на переменную и после цикла. И если мы потом напишем $v=1;, то последняя переменная, например, $_COOKIE['user'] станет равна единице.

 

Конструкция $$k=$v создает переменные, например, из $_COOKIE['user'] создаст $user.

 

Конструкция if ((strpos($k, '_SERVER') === false) && (strpos($k, '_SESSION') === false)) предотвращает подстановку ложных значений при использовании $$k=$v.


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Дайте мне таблеток от жадности - да побольшееее....
0
RESPECT99
26 ноября 2016 23:51
3


спецы
  • 85
Репутация: 0
Сообщений: 178
Регистрация: 13.05.2016

Ну да, согласен, не совсем правильная информация, тупо копирайт и вброс неправдивой информации. Этот код ничему не помогает в защите сайтов, не пытайтесь что то подобное пробовать ))

0
Артем™ ☻
27 ноября 2016 11:26
4


Идеолог
  • 119
Репутация: 3
Сообщений: 1624
Регистрация: 17.09.2014

Цитата: RESPECT99 в ответ
Ну да, согласен, не совсем правильная информация, тупо копирайт и вброс неправдивой информации. Этот код ничему не помогает в защите сайтов, не пытайтесь что то подобное пробовать ))

 

копипаст да - код скопирован ! А с чего вы взяли что этот код неработает ? Код работает и реально меняет или удаляет все апострофы в запросе .

 

А если апострофы удалены то 99% SQL Иньекции неработают .. Тоесть код рабочий!

 


. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Задумался о многом - и пришел к выводу что - "много думать вредно, но интересно"
0
1чел. читают эту тему (гостей: 1)
Пользователей: 0

Поделиться!


Войти с помощью:
  • Регистрация
  • Забыли пароль?
  • Данные авторизации одинаковые с
    сайтом 7ooo.ru

  • Поделиться



    Почти все материалы добавляются пользователями. Перепечатка разрешена с указанием прямой ссылки на источник.
    2019 г.
    RE Яндекс.Метрика
    ^ Наверх