Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: sql-инъекция

Сообщения:  [1-10]   [11-19] 

 
 автор: Николай2357   (19.08.2008 в 15:12)   письмо автору
 
   для: Trianon   (19.08.2008 в 14:42)
 

Точно.
Ну все, не отвлекайте меня, я задачей увлекся.
(Шутка, спасибо, обязательно ее решу.)

  Ответить  
 
 автор: Trianon   (19.08.2008 в 14:42)   письмо автору
 
   для: Николай2357   (19.08.2008 в 13:55)
 

1. Не беспокойтесь, проверить решение поможем.
2. поймите, важно не только зарезать вредноносное обращение.
Важно еще и не испортить данные, которые были введены.
примеров (маленьких и не очень) в обсуждениях к решениям было достаточно.
Специально для Вашего случая приведу еще один.
Регистрируется некий Джеймс Бонд под ником 007. Что Ваша функция с ним сделает?

  Ответить  
 
 автор: Николай2357   (19.08.2008 в 14:31)   письмо автору
 
   для: BinLaden   (19.08.2008 в 14:11)
 

Спасибо, я так и сделаю.

  Ответить  
 
 автор: BinLaden   (19.08.2008 в 14:11)   письмо автору
 
   для: Николай2357   (19.08.2008 в 13:55)
 

> но как же я узнаю, правильно ли я решаю эту задачу, если не буду спрашивать?

Тестировать свой скрипт. Конкретно - скрипт с авторизацией в 21-ой задаче. А не одну единственную функцию.

> Задача стоящая, полезная, но кто ответ оценит, конкурс то давно тютю...

Если Вы за это волнуетесь, то не стоит - по крайней мере я могу. Выложите, как будет готово в соответствующем разделе.

  Ответить  
 
 автор: Николай2357   (19.08.2008 в 13:55)   письмо автору
 
   для: Trianon   (19.08.2008 в 12:58)
 

Прошу конечно прощенья, для Вас это наверное флейм и хиханьки, но как же я узнаю, правильно ли я решаю эту задачу, если не буду спрашивать?
Вы думаете я сижу, ножки свесил, и жду, когда мне на блюдечке супер решение выложат?
Просто по своей природной глупости и малоопытности многого не понимаю. Допустим, я "тестировал" свою функцию и пока не пойму, как можно "протащить" через нее вредный кусок запроса. Я ведь не знаю, какими они бывают. Служебные символы она экранирует, имя "I don't know" при обработке на выходе stripslashes() отображается корректно, что еще не так, пока не знаю, по этому и прошу совета. Вот можете мне показать маленький примерчик, как можно тут навредить?
PS Задача стоящая, полезная, но кто ответ оценит, конкурс то давно тютю...

  Ответить  
 
 автор: AcidTrash   (19.08.2008 в 13:02)   письмо автору
 
   для: Николай2357   (19.08.2008 в 12:36)
 

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

  Ответить  
 
 автор: Trianon   (19.08.2008 в 12:58)   письмо автору
 
   для: Николай2357   (19.08.2008 в 10:31)
 

Можете попробовать применить Вашу функцию в решении 21-й задачи.
Всё же самому убедиться в чем-то - проще, чем разводить очередной флейм.

  Ответить  
 
 автор: Николай2357   (19.08.2008 в 12:36)   письмо автору
 
   для: cheops   (19.08.2008 в 11:48)
 

Подскажите, а числовой строкой тоже можно навредить в запросе?

  Ответить  
 
 автор: cheops   (19.08.2008 в 11:48)   письмо автору
 
   для: Николай2357   (19.08.2008 в 10:31)
 

Мне is_numeric() не очень нравится - если число будет в строковом представлении - оно не будет обработано при помощи функции intval().

  Ответить  
 
 автор: Николай2357   (19.08.2008 в 10:31)   письмо автору
 
   для: BinLaden   (16.08.2008 в 19:49)
 

Здравствуйте.
Пока тема не ушла в небытие, осмелюсь попросить совета.
Вот у меня много страниц, на которых много запросов в бд. Оправдано ли такое решение:
я хочу отдельным файлом сделать следующее
<?
function esc_str($string){
if (
get_magic_quotes_gpc()) $string stripslashes($string);
if (
is_numeric($string)) {
$string=intval($string);
}else{
$string =  mysql_real_escape_string($string);
    }
return 
$string;
}

и обрабатывать поступающие данные этой функцией, подключая файл к нужным страницам. Или я опять намудрил?
И еще, чтоб не портить бумагу, что то не совсем я разобрался в сессиях. Вчера тестировал сайт на хостинге, потом отключил интернет, не закрывая страницу, и ушел спать. Сегодня был ос\чень удивлен, когда оказалось, что все переменные в сессии живы... Мне казалось, что сессия должна жить не больше 24 минут (где то прочитал)... Странно...

PS Не совсем понял про
>1) Все числа приводить к integer/float:
можно чуть подробнее, в комментариях к задаче, рекомендованной Вами, я такого не нашел.
Спасибо.

  Ответить  

Сообщения:  [1-10]   [11-19] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования