Бесплатные PHP скрипты - форум техподдержки

Бесплатные PHP скрипты - форум техподдержки

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

Главная сайта бесплатных php скриптовГлавная сайта   ПоискПоиск  
Сегодня: 18.06.2024 - 04:30:42
Страницы:  1  

Защита от SQL-injection

Объявление - WR-Scriptы в UTF-8 кодировке

Активно обновляю скрипты и перевожу их в UTF-8 кодировку. Список перекодированных php скриптов доступен на главной странице сайта. Скачивайте скрипты и устанавливайте на свой сайт! В ближайшее время обновлю каталог знакомств, форум Про, фотоальбом, доски объявлений лайт и ЛЮКС.

На форуме, пожалуйста, пишите что модернизировать в скриптах в первую очередь. Постараюсь исправить большую часть пожеланий!
Планирую продолжить работы весь 2023 год.

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

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
Защита от brute force атак :Предыдущая темаСледующая тема: Как вылечить перенаправление на вредоносные сайты
Страницы:  1  

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

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

Смайлы:

Ещё смайлы
Эмодзи
         
Защитный код: (введите цифры, которые на синем фоне)
Ответ на вопрос: (Какой сейчас год?)
   
WR-Счётчик
Powered by WR-Forum Professional © 2.3 UTF-8 beta версия