Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Зашита веб приложений от Взлома, Отлов насикомых в своих прогах. 
:(
    Опции темы
Хрипа
Дата 12.11.2007, 13:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: -6
Всего: нет



Меня вот что интересует!
Уважаемые разработчики как вы зашишаите свои программы от SQL интекций ?
я использую такую конструкцию:
Код

$_GET = $vHTTP->clean_query_get($_GET);
if ($vHTTP->check_varaible($_GET))  include();
else include("error.php");

clean_query_get
{
    $replace_words = array("Все что мне надо пустить на фильтр");
    foreach($_GET as $key => $value) for($i=0;$i<sizeof($replace_words);$i++) if (preg_ьmacth("/".$replace_words[$i]."/",$value)) $_GET[$key] = str_replace($replace_words[$i],"",$value);
    return $_GET;
}
Примерно так.
у кого идеи по лучше от зашиты от SQL иньекций ?

Это сообщение отредактировал(а) Хрипа - 12.11.2007, 13:28
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
_AXE_
Дата 12.11.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 1.11.2007
Где: Kazakhstan

Репутация: нет
Всего: нет



Функции проверки результата is_numeric() is_bool() & other.
PM MAIL WWW ICQ Skype GTalk   Вверх
Хрипа
Дата 12.11.2007, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 227
Регистрация: 11.12.2006

Репутация: -6
Всего: нет



_AXE_, приведения к типу хорошо.
а если допустим id или другие переменные смешанного типа пример:
news_ddds8438743hh34hqwDSj45
--------------------
<Вырезана, как не соответствующая правилам форума >
PM MAIL   Вверх
Pokoinik
Дата 12.11.2007, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: 2
Всего: 3



Хрипа, как вариант просто удалять из переменной строки
select, update delete, drop, or, and, set ....... etc


Цитата(Хрипа @  12.11.2007,  14:41 Найти цитируемый пост)
а если допустим id или другие переменные смешанного типа

обрабатываем переменную смешанного типа, делим на части и смотрим что такое...


--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
Alukard
Дата 12.11.2007, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



SQL-injection постепенно уходит в небытие! Довольно редко встречается данный вид уязвимости. Я как например делаю. Думаю, что у меня может находится в том же параметре id, ага, ничего, значит нужно , нет, не запретить все остальное, а просто разрешить то что можно например:
Код

if(is_int($id))
{
//Делаем что нужно
}
else exit;

Или допустим знаем мы, что у нас тока цифры от 1 до 999, применяем регулярное выражение с функцией ereg, и все дела...и вообще, проще всего проверять на валидность , особенно важные данные, через регулярные выражения...Тогда скрипты будут как стена  smile 
--------------------
Блог блогу рознь: Алукардные РецептыPHP, Операционные системы, Россия & США...etc.
PM MAIL   Вверх
Pokoinik
Дата 12.11.2007, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 283
Регистрация: 17.3.2007
Где: /dev/null

Репутация: 2
Всего: 3



Alukard, однако все-таки встречается...
тем более, уверенность в том что этот вид атак становится все менее популярным, не делает безопаснее веб-приложения...



--------------------
ICQ: 490-993
Существует только 10 типов людей: те, которые понимают двоичную систему, и которые ее не понимают!!!
Опасайтесь людей верующих, ибо у них есть боги, которые им все прощают.

Делай или не делай! Никаких попробую!
Йода (Yoda), мастер-джедай
PM MAIL ICQ   Вверх
flashaa
Дата 12.11.2007, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 19
Всего: 25



Когда-то давно пересел на библиотеку DbSimple и не заморачиваюсь с такими вопросами. Когда нужно сделать что-то свое, лезу в исходный  код, смотрю как там и делаю по образу и подобию. Просто есть очень много классных велосипедов, зачем в очередной раз изобретать свой? А работа с БД это чуть ли не самый распространненый случай.
PM MAIL   Вверх
skyboy
Дата 12.11.2007, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Цитата(Хрипа @  12.11.2007,  12:27 Найти цитируемый пост)
у кого идеи по лучше от зашиты от SQL иньекций ?

защита от SQL-инъекций в связке MySQL + PHP решается применением одной-единственной mysql_real_escape_string. Ничего лишнего выдумывать не надо.
PM MAIL   Вверх
Blaga
Дата 13.11.2007, 10:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


ЛамМер++
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 15.11.2005
Где: г. Иркутск

Репутация: 2
Всего: 4



skyboy, мне кажеться что если работаешь с id который всегда равен положительному числу то легче сделать через функцию intval()


--------------------

http://displayart.ru - Обои.
http://a2themes.ru - Сайт о движках DLE, phpBB3, WordPress.
PM MAIL ICQ   Вверх
skyboy
Дата 13.11.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 75
Всего: 260



Blaga, то, что ты написал - это контроль входящих данных. Но не защита от SQL-инъекции. Но, в принципе, я с тобой не спорю - проверка важна. мне не по душе только, когда все валят в одну кучу.
PM MAIL   Вверх
NNaarreekk
Дата 14.11.2007, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Извините молодого и неопытного, но мне кто-то можед дать простой пример как благодаря этой "SQL-инъекции" можно взломать сайт??

Я просто что-то не представил smile 
PM MAIL WWW   Вверх
szz
Дата 14.11.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 31.5.2005
Где: Moscow, Jerusalem

Репутация: 8
Всего: 33



NNaarreekk, вот тебе самая детская инъекция, описанная в рнр мануале:

Код

// Query database to check if there are any matching users
$query = "SELECT * FROM users WHERE user='{$_POST['username']}' AND password='{$_POST['password']}'";
mysql_query($query);

// We didn't check $_POST['password'], it could be anything the user wanted! For example:
$_POST['username'] = 'aidan';
$_POST['password'] = "' OR ''='";

// This means the query sent to MySQL would be:
echo $query;

Цитата

SELECT * FROM users WHERE name='aidan' AND password='' OR ''=''

This would allow anyone to log in without a valid password. 



--------------------
PM   Вверх
NNaarreekk
Дата 15.11.2007, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 768
Регистрация: 23.6.2007
Где: Армения

Репутация: 0
Всего: 3



Спасибо, понял! smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0563 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.