| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Функция import_request_variables() |
| Автор: Leklerk 22.8.2009, 11:40 |
| Правильно ли я понимаю, что функция import_request_variables() предоставляет все преимущества включенной register_globals, не ухудшая при этом безопасность (как при register_globals=On)? Или у этой функции есть свои недостатки? |
| Автор: icewind 22.8.2009, 11:44 |
это какие же? |
| Автор: Leklerk 22.8.2009, 11:48 | ||
Ну, я имел в виду, так сказать, "быстроту и удобство"... |
| Автор: Ипатьев 22.8.2009, 13:12 |
| Нет, неправильно. Недостатки те же, что и у регистер глобалс |
| Автор: nerezus 22.8.2009, 13:17 | ||
В туалет когда тебе хотелось и ты долго терпел, а потом сходил - помнишь чувство? Вот после перехода с register_lobals или удаления import_request_variables из кода почувствуешь то же самое: станет удобнее и быстрее писать. |
| Автор: SneG0K 22.8.2009, 15:40 |
| Leklerk, если бы у гугля, одноклассников, контакта и прочей ерундени были включены регистер_глобалс..... |
| Автор: Leklerk 22.8.2009, 16:40 | ||||
Но ведь префикс для того и добавляется, чтобы исключить или во всяком случае значительно уменьшить вероятность конфликта имён... И хакеру труднее подобрать... Добавлено @ 16:44
SneG0K, то что регистер_глобалс это плохо я и сам знаю... |
| Автор: NewDima 22.8.2009, 17:31 | ||
Если так думал, то значит были причины. Изложи? |
| Автор: SneG0K 22.8.2009, 17:42 |
| Leklerk, понимаешь, в PHP есть несколько суперглобальных массивов. $_GET и $_POST в том числе. И появление этих массивов сделало супербольшой скачок в развитии безопасности PHP. Любой сайт с регистер_глобалс можно взломать за 5 минут. |
| Автор: nerezus 22.8.2009, 17:54 | ||
Я напишу блог и ты попробуешь его взломать за пару дней. Предлагай сумму спора. |
| Автор: NewDima 22.8.2009, 18:56 |
| SneG0K, тоже не согласен, любой сайт можно защитить от взлома через register_globals, смотря какие руки) |
| Автор: SneG0K 22.8.2009, 18:56 |
А сорцы дашь посмотреть? |
| Автор: SneG0K 22.8.2009, 19:30 |
| Да, ну ладно. Мне с детства внушали, что регистер-глобалс зло) |
| Автор: nerezus 22.8.2009, 19:42 | ||||
|
| Автор: Leklerk 22.8.2009, 19:44 | ||
Лучше, потому что задаётся некий префикс и взломать будет намного труднее. |
| Автор: SneG0K 22.8.2009, 20:08 |
Ну, понимаешь ли, все зависит от функционала. |
| Автор: Ипатьев 22.8.2009, 21:54 |
| Leklerk, а зачем вообще переменные из реквеста в глобальной области видимости? Сколько их, тех переменных, чтобы ради них огород городить? Можно привести практический пример? |
| Автор: nerezus 22.8.2009, 23:16 | ||
|
| Автор: IZ@TOP 23.8.2009, 01:17 |
| Извлечение переменных в глобальную область видимости, на мой взгляд, является удобством сомнительным. И даже не смотря на привычку, стоит отучиться. В PHP хорошей практикой программирования является использование суперглобальных переменных, да и факт того, что register_globals (смотрим php.net/register_globals) является DEPRECATED и будет удален в 6-й версии - говорит о многом. Функция import_request_variables возможно будет полезна при некоторых обстоятельствах, но в обычной ситуации ей пользоваться не рекомендую. |
| Автор: NewDima 23.8.2009, 05:02 | ||
Согласен, но зачем себя запутывать? Кто сказал, что ты не забудешь про этот префикс, или не поставишь такой же префикс у других переменных в скрипте? Видишь опасность, обходи ее заранее. Потому как "намного труднее" неконкурентоспособно на сегодня |
| Автор: Leklerk 23.8.2009, 16:56 | ||
Да это так, отвлеченные мысли... Нет у меня примеров... |
| Автор: Ипатьев 23.8.2009, 19:28 |
| Массив ведь удобнее в сто раз. Если данных много, то их только массивом и перебирать. Не писать же все переменные по одной от руки? Если мало - идентификатор новости, например - то несложно и руками принять. И засорять себе программу неизвестными переменными совсем в итоге не обязательно. |