![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Elfet |
|
||||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Всем привет!
Написал небольшой код для работы с $_GET и $_POST для увеличения безопасности в моих скриптах. Что вы думаете по этому поводу?
Теперь обращаться нужно так:
По-моему очень удобно и красиво. |
||||
|
|||||
| Severyanin |
|
|||
![]() Исследователь ![]() ![]() Профиль Группа: Участник Сообщений: 554 Регистрация: 31.7.2007 Где: Россия, Омск Репутация: нет Всего: 9 |
Можно было бы еще задать в качестве параметра контсруктора число-ограничитель на длину строки, чтобы избежать DOS. А еще неплохо было бы проверять переменные на наличие запрещенных символов для избежания инъекций. Помимо htmlspecialchars
-------------------- "Звонким вереском скроются наши следы, и не вспомнят о них. Кто поверит нам, рыцарям павшей звезды из отвергнутых книг? Пусть в узоре времен ни стихов. ни имен, но напомнит забывшим их полуночный крик." Тэм Гринхилл "Ужели суслик твоего коварства нагадит в плов доверья моего?". Л.Филатов |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Severyanin, ну да, можно сделать ещё какие-нибудь обработчики в Conversion.
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
htmlspecialchars, как и "запрещенные символоы для избежания инъекций", никакого отношения к обработке $_GET и $_POST не имеют.
Все эти велосипеды на паровом ходу надо сначала обкатывать в реальной эксплуатации. На нескольких сайтах, несколько месяцев. И только потом представлять широкой публике. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Ипатьев, я ведь не предлагаю всем подряд использовать мой код. Я только просил высказать мнения по его поводу.
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
А я ничего не писал о предложении этот код использовать другим.
Я написал, что должны были сделать вы сами. При отсутствии достаточного опыта, программист просто не в состоянии написать хорошую вещь с нуля. И поэтому практическая проверка теоретических представлений всегда необходима. Мнение, впрочем, я высказал тоже. Это сообщение отредактировал(а) Ипатьев - 9.2.2010, 15:40 |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Ипатьев, вы меня видимо не поняли.
|
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Это невозможно. И не нужно. А "не хочу" - не аргумент.
Но как минимум убрать из метода text функцию htmlspecialchars А заодно сформулировать критерии безопасности, для следования которым писалась эта функция. Сам подход правильный. Нужно только учитывать реальную жизнь. В которой иногда приходится пропускать HTML теги в скрипт как есть. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
Мне тоже кажется что это правильно, явно указывать у всех получаемых параметров их тип.
Я бы для этого использовал обратную функцию или что-то такое: Get('page')->Html(); |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 16 Всего: 19 |
А можно ли поинтересоватся, какая польза от этого скрипта?
Он предоставляет другой синтаксис для обращения к глобальным массивам? Или смысл в том, что можно строго типизировать получаемые данные? Это сообщение отредактировал(а) NLspieler - 9.2.2010, 17:49 |
|||
|
||||
| Ипатьев |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2232 Регистрация: 5.7.2009 Репутация: 28 Всего: 37 |
Здесь уже был длинный спор между перестраховщиками, которая боялись, что не уследят за выводом, и педантами, которые (абсолютно правильно) полагают, что функция htmlspecialchars нужна при выводе данных, а при вводе совсем не нужна. Убедить, впрочем, сторонам друг друга не удалось, поэтому не будем снова повторять одно и то же. NLspieler, корни правильности данного подхода лежат в необходимости иницилизировать используемые переменные. что данный класс и делает. |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
||||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
-------------------- Amazing |
|||
|
||||
| Elfet |
|
|||
![]() Белый и Пушистый ![]() ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 3776 Регистрация: 2.4.2003 Репутация: нет Всего: 16 |
MoLeX, ну да. У них по своему сделано.
|
|||
|
||||
| MoLeX |
|
|||
![]() Местный пингвин ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 4076 Регистрация: 17.5.2007 Репутация: 46 Всего: 140 |
и сделано красиво
-------------------- Amazing |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |