Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Проверка данных формы.

1.8K
29 июля 2005 года
BIKTOP
91 / / 06.04.2005
Подскажите плз, в какой последовательности и какие операции над полями формы (формы регистрации) необходимо выполнять, чтобы обезопасть сайт, учитывая то, что лотин и другие данные будут видны окружающим. Я имею понятие о таких функциях как htmlspecialchars (), htmlentities (), preg_replace () etc., но хотелось бы знать целесообразность их использования в конкретных случаях.
Если опытным програмистам на жалко, то можно даже поделиться со мной кодом (я не хацкер :) ).

Заранее спасибо.
299
29 июля 2005 года
3D Bob
885 / / 18.04.2005
htmlspecialchars (),
Всё. Больше ничего не нужно... Никакие данные не смогут сломать сайт... А все остальные дыры зависят от реализации... Но HTML теги сайт не сломают)
338
30 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by 3D Bob
htmlspecialchars (),
Всё. Больше ничего не нужно... Никакие данные не смогут сломать сайт... А все остальные дыры зависят от реализации... Но HTML теги сайт не сломают)


Обман с особым цинизмом.
Указанная функция нужна только при ВЫВОДЕ данных в броузер.
А вот при занесении в базу - совсем другие проверочки.
Помнится в phpBB дырочка была с формированием регекса, приводящая к исполнению произвольного php кода. В общем пройдись по уязвимостям популярных продуктов.
Я делаю просто - там где можно обойтись цифрой - обхожусь цифрой и прогоняю через /^[0-9]+$/, там где нужен текст - /^[-а-яА-Я\s]+$/ в большинстве случаев хватает.
А вообще есть один простой и универсальный совет - учись ломать. Научишься ломать - сможешь защитить. Но только от тех атак, с которыми сам знаком.
Зри в поиск по [sql инъекция] [кросс скриптинг]

15
30 июля 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by chigevara
Обман с особым цинизмом.
Указанная функция нужна только при ВЫВОДЕ данных в броузер.
А вот при занесении в базу - совсем другие проверочки.
Помнится в phpBB дырочка была с формированием регекса, приводящая к исполнению произвольного php кода. В общем пройдись по уязвимостям популярных продуктов.
Я делаю просто - там где можно обойтись цифрой - обхожусь цифрой и прогоняю через /^[0-9]+$/, там где нужен текст - /^[-а-яА-Я\s]+$/ в большинстве случаев хватает.
А вообще есть один простой и универсальный совет - учись ломать. Научишься ломать - сможешь защитить. Но только от тех атак, с которыми сам знаком.
Зри в поиск по [sql инъекция] [кросс скриптинг]


Плохой дядька, неправильно по цифрам советуешь:))). is_numiric() вам в помощь.

338
31 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by shaelf
Плохой дядька, неправильно по цифрам советуешь:))). is_numiric() вам в помощь.


:D Тож можно. Вопрос религии. Мне просто регексами сподручнее. Но не настаиваю и не навязываю.

15
31 июля 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by chigevara
:D Тож можно. Вопрос религии. Мне просто регексами сподручнее. Но не настаиваю и не навязываю.


Просто IMHO is_numeric() быстрее немного:).

338
31 июля 2005 года
chigevara
529 / / 29.09.2003
Цитата:
Originally posted by shaelf
Просто IMHO is_numeric() быстрее немного:).


Согласен. Но по отношению ко времени исполнения скрипта ...
А с регексами - просто мне легче паттерн составить чем запоминать сигнатуры на все случаи жизни. Опять же повторюсь - не навязываю. Хотя для поиска подстроки регексы использовать не буду. Но не из за времени исполнения а просто потому что. Вообще, не знаю как у остальных, а у меня выбор инструмента основывается больше на нравится/не нравится чем на логике, ибо как бы обоснован инструмент ни был, если он мне не нравится - мне его использовать тяжко. Может быть не самый правильный ход мыслей, но я блин, человек а не робот - хочется мне иметь свои недостатки и неправильности.

15
31 июля 2005 года
shaelf
2.7K / / 04.05.2005
Цитата:
Originally posted by chigevara
Согласен. Но по отношению ко времени исполнения скрипта ...
А с регексами - просто мне легче паттерн составить чем запоминать сигнатуры на все случаи жизни. Опять же повторюсь - не навязываю. Хотя для поиска подстроки регексы использовать не буду. Но не из за времени исполнения а просто потому что. Вообще, не знаю как у остальных, а у меня выбор инструмента основывается больше на нравится/не нравится чем на логике, ибо как бы обоснован инструмент ни был, если он мне не нравится - мне его использовать тяжко. Может быть не самый правильный ход мыслей, но я блин, человек а не робот - хочется мне иметь свои недостатки и неправильности.


И это есть правильно.... Пока тебе не надо около 40 полей проверять на цифры которые из формы пришли:)))

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог