imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 30.07.2004, 02:56     # 1
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
о REGISTER_GLOBALS и HTTP_XXXX_VARS

Пару вопросов. Мануалы ничего толком не объясняют, так что:
1. Что такое register_globals?
2. Что таоке http_post_vars и http_get_vars и почему рекомендуется использовать $http_post_vars['somevar'] вместо $somevar?
3. Если я правильно понял, то при запросе script.php?somevar=somevalue $http_post_vars['somevalue'] == NULL?

Спасибо.
Psionic Vision вне форума  
Старый 30.07.2004, 03:43     # 2
Sheryld
Full Member
 
Регистрация: 29.05.2002
Сообщения: 544

Sheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царствеSheryld Луч света в тёмном царстве
ну как же это не объясняют, там горы написаны. да и тут уже не раз было сказано.

register_globals - если включено, то переменные Environment, GET, POST, Cookie, Server регистрируются, как глобальные. пример:

index.php?var=value

echo $var //value

рекомендуется отключать это дело, т.к. это потенциальная дыра.

$HTTP_GET_VARS и т.д. - это глобальный хэш(в терминологии php это PHP Superglobals). работать с переменными Environment, GET, POST, Cookie, Server рекомендуется именно через эти самые хеши, при это отключив register_globals.

index.php?var=value

echo $HTTP_GET_VARS['var'] //value

подробнее и с примерами расписано в мане. да и тут я помню тоже писал на эту тему...

p.s. query string (это то, что стоит за ? в URL) состоит обычно из пар variable/value.

пример:
index.php?variable=value

хэш, наиболее удобная форма хранения такого рода данных...

$_GET['variable'] <-- ключ - variable, по которому доступно значение - value.

но я уже писал тут, что при разборе нужно проверять не только значение ключа, но и само существование этого ключа...
__________________
убрано по просьбе администратора

Последний раз редактировалось Sheryld; 30.07.2004 в 03:45.
Sheryld вне форума  
Старый 30.07.2004, 06:40     # 3
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
а КАК их отключить, если я не админ сервера?

Что такое POST и GET?
Get - Это то, переменные из командной строки бразуера,
а POST - это переменные, отправленные полями формы, так?
Psionic Vision вне форума  
Старый 30.07.2004, 06:43     # 4
InsaneX
::VIP::
 
Аватар для InsaneX
 
Регистрация: 15.12.2002
Адрес: Spain
Сообщения: 500

InsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX ГуруInsaneX Гуру
delaesh .htaccess file i tam pishesh php_flag register_globals off
InsaneX вне форума  
Старый 30.07.2004, 10:47     # 5
is_absent
::VIP::
 
Аватар для is_absent
 
Регистрация: 27.01.2004
Адрес: Россия. Барнаул
Пол: Male
Сообщения: 417

is_absent Молодецis_absent Молодецis_absent Молодец
InsaneX
это пройдет, если на твой хост стои AllowOverride All. в остальных случаях апач будет сильно ругаться...
__________________
Nunc est bibendum
is_absent вне форума  
Старый 30.07.2004, 17:34     # 6
Psionic Vision
Full Member
 
Аватар для Psionic Vision
 
Регистрация: 05.02.2002
Адрес: Underground
Сообщения: 2 110

Psionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собойPsionic Vision Имеются все основания чтобы гордиться собой
Прошло.
Теперь phpinfo() показывает
Register Globals: Local Value off, Master Value on

Ура!
Это же должно на всех платных хостах работать?

Теперь еще вот вопрос.
Даже если register globals включен, а у меня есть форма
<form method=post>
<input type=text name=somevar value=somevalue>
<input type=submit>
</form>

Далее, в скрипте у меня вот что:
if (isset($_POST['somevar']) {
sensitivedata();
}

Если я все правильно понял, то независимо от включенных register globals, функция sensitivedata() не запустится и переменная somevar не установится, если я запущу скрипт как script.php?somevar=somevalue?
Если попробовать установить переменную через адресную строку, получится $_GET['somevar']==somevalue, а $_POST['somevar '] == NULL?

И еще - что такое массив $_SESSION и чем он отличается от этих двух?
Psionic Vision вне форума  
Старый 30.07.2004, 17:39     # 7
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Цитата:
Neo:
Если я все правильно понял, то независимо от включенных register globals, функция sensitivedata() не запустится и переменная somevar не установится, если я запущу скрипт как script.php?somevar=somevalue?
Правильно понял.
Именно, $_GET['somevar'] не равно $_POST['somevar'].
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 01:30.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.