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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Функции empty(), неожиданый результат работаы 
V
    Опции темы
Feldmarschall
Дата 12.12.2007, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


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

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



Цитата(krundetz @  12.12.2007,  12:15 Найти цитируемый пост)
почему вы так однозначно уверены в том что метод GET не используется для занесения в БД

Но я же оказался прав =)
Когда заносится значение в счетчик, пользователю не выводится сообщений "Пременная пуста" =)

Цитата(krundetz @  12.12.2007,  12:15 Найти цитируемый пост)
на сервере могут быть включены волшебные кавычки 

Совершенно верно. Но ни к "фильтру для зашиты от инекций", ни к самой БД эта настройка не имеет отношения. Кавычки надо сносить сразу при поступлении данных в скрипт, автоматом. Функция подготовки данных для БД - не место для этой операции. 

Цитата(krundetz @  12.12.2007,  12:15 Найти цитируемый пост)
mysql_real_escape_string не экранирует % и _

опять, никакого отношения защите от инъекций фильтрация этих символов не имеет. это раз.
экранировать их при записи в базу бессмысленно. это два.

Снова повторюсь, что кроме mysql_real_escape_string, при формировании запроса на вставку ничего не нужно. Все остальное - лишнее, и будет только мешать.

Цитата(krundetz @  12.12.2007,  12:15 Найти цитируемый пост)
И к чему это приведет если кто-то захочет поэксперементировать с тем как мои скрипты обрабатывают данные пришедшие методом POST

К тому, что ты узнаешь об этом, посмотрев логи и сможешь принять меры.
Можешь проверять, впрочем. Данный вопрос я не считаю принципиальным. 
Хотя в этом случае принудительная инициализация будет лучше проверки, я думаю.

Цитата(krundetz @  12.12.2007,  12:15 Найти цитируемый пост)
  smile  

ё. марш несогласных прямо.
Ну, вот тебе пример.
Код

if(isset($_POST['a']) { 
/ * этой строчкой мы предупреждаем ошибку программы*/

  if (strlen($a)==0) $err[]=="Поле а не заполнено";
  if (strlen($a) > 100) $err[]=="Поле а слишком длинное";
  / * а этими строчками - ошибку пользоваетля*/
}

В чем здесь суть? Пустое поле - это пользовательская ошибка. причем пустота может быть не единственной ошибкой. может не совпадать формат или диапазон или что угодно. Почему все эти вещи мы проверяем в одном месте, а именно пустоту - в другом? С точки зрения же программы пустое ничуть не хуже любого другого.

Это сообщение отредактировал(а) Feldmarschall - 12.12.2007, 13:25
PM   Вверх
krundetz
Дата 12.12.2007, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вечный странник
***


Профиль
Группа: Завсегдатай
Сообщений: 1400
Регистрация: 14.6.2007
Где: НН(Сормово)

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



Большое спасибо всем за ответы. Тему считаю решенной.


--------------------
!цензоры - Хранитель стратегической жидкости
Группа ТГВ
Группа Нижний Новгород
user posted image
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

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

Важно:

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

Внимание:

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

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

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


 




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


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

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