|
|
|
|
|
для: Trianon
(19.08.2008 в 14:42)
| | Точно.
Ну все, не отвлекайте меня, я задачей увлекся.
(Шутка, спасибо, обязательно ее решу.) | |
|
|
|
|
|
|
|
для: Николай2357
(19.08.2008 в 13:55)
| | 1. Не беспокойтесь, проверить решение поможем.
2. поймите, важно не только зарезать вредноносное обращение.
Важно еще и не испортить данные, которые были введены.
примеров (маленьких и не очень) в обсуждениях к решениям было достаточно.
Специально для Вашего случая приведу еще один.
Регистрируется некий Джеймс Бонд под ником 007. Что Ваша функция с ним сделает? | |
|
|
|
|
|
|
|
для: BinLaden
(19.08.2008 в 14:11)
| | Спасибо, я так и сделаю. | |
|
|
|
|
|
|
|
для: Николай2357
(19.08.2008 в 13:55)
| | > но как же я узнаю, правильно ли я решаю эту задачу, если не буду спрашивать?
Тестировать свой скрипт. Конкретно - скрипт с авторизацией в 21-ой задаче. А не одну единственную функцию.
> Задача стоящая, полезная, но кто ответ оценит, конкурс то давно тютю...
Если Вы за это волнуетесь, то не стоит - по крайней мере я могу. Выложите, как будет готово в соответствующем разделе. | |
|
|
|
|
|
|
|
для: Trianon
(19.08.2008 в 12:58)
| | Прошу конечно прощенья, для Вас это наверное флейм и хиханьки, но как же я узнаю, правильно ли я решаю эту задачу, если не буду спрашивать?
Вы думаете я сижу, ножки свесил, и жду, когда мне на блюдечке супер решение выложат?
Просто по своей природной глупости и малоопытности многого не понимаю. Допустим, я "тестировал" свою функцию и пока не пойму, как можно "протащить" через нее вредный кусок запроса. Я ведь не знаю, какими они бывают. Служебные символы она экранирует, имя "I don't know" при обработке на выходе stripslashes() отображается корректно, что еще не так, пока не знаю, по этому и прошу совета. Вот можете мне показать маленький примерчик, как можно тут навредить?
PS Задача стоящая, полезная, но кто ответ оценит, конкурс то давно тютю... | |
|
|
|
|
|
|
|
для: Николай2357
(19.08.2008 в 12:36)
| | Да здесь имеется ввиду, что не числом вы можете навредить, а тем ,что заместо числа, может подставиться кусок SQL-запроса. | |
|
|
|
|
|
|
|
для: Николай2357
(19.08.2008 в 10:31)
| | Можете попробовать применить Вашу функцию в решении 21-й задачи.
Всё же самому убедиться в чем-то - проще, чем разводить очередной флейм. | |
|
|
|
|
|
|
|
для: cheops
(19.08.2008 в 11:48)
| | Подскажите, а числовой строкой тоже можно навредить в запросе? | |
|
|
|
|
|
|
|
для: Николай2357
(19.08.2008 в 10:31)
| | Мне is_numeric() не очень нравится - если число будет в строковом представлении - оно не будет обработано при помощи функции intval(). | |
|
|
|
|
|
|
|
для: 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:
можно чуть подробнее, в комментариях к задаче, рекомендованной Вами, я такого не нашел.
Спасибо. | |
|
|
|
|