![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| mielnir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 28.6.2006 Репутация: нет Всего: нет |
Здравствуйте. Будучи озадаченным выбором хостинга, стал просматривать наиболее популярные сервисы и обнаружил, что у многих register_globals = On ( masterhost.ru, majordomo.ru ). Разве это не есть дыра? Объясните, пожалуйста.
|
|||
|
||||
| Wolf1994 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1701 Регистрация: 5.10.2004 Репутация: 7 Всего: 29 |
Нет, это не дыра.
1. Вы можете поставить эту переменную в "off", указав в .htaccess: php_value register_globals 0. 2. Можно заранее предопределять все переменные в нулевые значения. 3. Можно просто игнорировать этот параметр и брать значения из соответствующих массиво GET, POST... |
|||
|
||||
| mielnir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 28.6.2006 Репутация: нет Всего: нет |
Тут совершенно согласен. При правильном программинге не сложно писать защищенный код. Но, просто все всегда говорят, что register_globals должна быть Off, а тут такие непонятки... Зачем создавать возмости ошибок, когда этого легко избежать? |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
mielnir, ничто тебе не мешает установить register_globals в Off через .htaccess.
http://vingrad.ru/PHP-ART-002846 |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Можно в начале любого скрипта подключать вот этот скрипт:
После этого весь дальнейший код будет думать, что register_globals отключен. -------------------- ![]() ![]() |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
А нельзя этот код на Си перевести и сделать модулем апача, перехватывающим запрос на скрипт? Вот честно, не могу понять, зачем надо уши через клапан заднего давления чистить, когда все намного проще... |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Так это невозможно! Регистрирует эти переменные модуль php. Апач только может передать интерпретатору флаги, где он может указать надо ли регистрировать эти переменные. Больше апач нмчего сделать не сможет, разве что не передавать глобальных переменных вообще P.S. Мы, вообщето сдесь пытаемся найти вариант, который бы пошел даже на бесплатных хостингах, где есть самый убогий php Добавлено @ 18:56 это и есть -------------------- ![]() ![]() |
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Вот, немного ту функцию улучшил...
Немного упростил и ускорил... -------------------- ![]() ![]() |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
На хороших хостингах он по умолчанию и так отключен или там (на хороших хостах) можно вот так делать, как ты писал уже:
Функция, которую я описал, работать будет практически везде и с ней практически не будет никаких проблем... Причем тут апач, разве вы не знаете, что переменные регистрирует пхп? -------------------- ![]() ![]() |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
||||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Оттого, что вы против бесплатных хостингов, на которых "убогий" PHP, люди не перестанут на них сидеть, а проблема остается. Я же не говорю всем поголовно использовать эту функцию, я просто говорю, что порой эта функция - единственное решения для многих людей. Естественно я согласен, что если есть такая возможность, то надо либо самому прописывать в php.ini эту настройку, либо ставить флаг в htaccess для вызова интерпретатора, чтобы он не регистрировал эти переменные, но все-еще много где это не разрешено делать... -------------------- ![]() ![]() |
|||
|
||||
| awers |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1465 Регистрация: 22.3.2006 Где: Россия, Таганрог Репутация: 21 Всего: 31 |
ini_set и все... ну или .htaccess одно из двух точно работает на любом хосте.
и вообще для начала надо научиться писать ПРАВИЛЬНЫЙ код. нафига юзать register_globals вообще непонятно.. темболее в случае с формами, это первый контур защиты от подмены Данных на $_GET ... |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 122 Всего: 261 |
К тому же, в 6 PHP скорее всего все будет Off...
|
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Вообщето, совершенно точно регистрация глобальных переменных по-умолчанию будет выключена и это уже на 100%. -------------------- ![]() ![]() |
|||
|
||||
![]()
|
| Правила форума "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. |