Форум скриптов PHP

Форум скриптов PHP

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

Главная сайта php скриптовГлавная сайта скриптов   ПоискПоиск  
Сегодня: 20.01.2019 - 18:35:15
Страницы:  1  
Форум скриптов PHP » Защита от взлома » Защита от SQL-injection
Объявление - WR-Scriptы в UTF-8 кодировке

Ведётся обновление скриптов и перевод в UTF-8 кодировку. Список бесплатных php скриптов, которые уже переведены можно увидеть на главной странице сайта. Скачивайте обновлённые скрипты и устанавливайте на свой сайт! Работы продолжаются. Ура!

АвторСообщение

HawkDoom

H
гость
Защитить себя от SQL-injection
Сообщение # 1 27.12.08 - 16:44:07

HawkDoom

H
гость
Защитить себя от 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

A
гость
HawkDoom, это где-нибудь опробовано? работает?

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

HawkDoom

H
гость
And, хы , ты попробуй сначала а потом утверждай =)
я наверно просто так написал.

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

AntiGun

A
гость
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_прогер

P
гость
Люди, чтобы не было 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_прогер

P
гость
Ну и ещё забыл написать. Данную функцию можете использовать конечно для цифр, но советую делать так:


    Код:

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

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

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

hazik

H
гость
PHP_прогер расскажи подробнее
Сообщение # 10 18.06.10 - 00:02:56

WR

W
гость
а функция eregi() в php больше не поддерживается. Код уже не сработает. Нужна другая конструкция для защиты от SQL-инъекций.
Сообщение # 11 13.01.19 - 17:30:20
Форум скриптов PHP » Защита от взлома » Защита от SQL-injection
Защита от brute force атак :Предыдущая темаСледующая тема: Как вылечить перенаправление на вредоносные сайты
Страницы:  1  

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

Нажмите на точку возле имени для обращения к участнику

Смайлы:
Ещё смайлы
         
Защитный код: (введите цифры, которые на синем фоне)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.2