Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: не работает $_SERVER["HTTP_REFERER"] при register_globals=off

Сообщения:  [1-9] 

 
 автор: Trianon   (26.05.2006 в 17:20)   письмо автору
 
   для: elenaki   (26.05.2006 в 17:09)
 

передайте имя (или индекс) страницы скрытым полем.
Если нет у Вас этого инструмента (сломался , отобрали - неважно)
либо ищите обходные пути - либо отказывайтесь от хостинга в пользу того, где такой инструмент есть.
Кстати, JIEXA дело говорит. Т.к. серверными средствами этот инструмент гарантирован быть не может, надежнее считать что его нет вообще.

   
 
 автор: JIEXA   (26.05.2006 в 17:20)   письмо автору
 
   для: elenaki   (26.05.2006 в 17:09)
 

Советую не использовать HTTP_REFERER, так как это переменная передается от пользователи серверу, а как меня учили - никогда не доверяй данным от пользователей. Я бы на вашем месте сделал бы так:
<?
print '<form method=post action="action.php">
<!-- содержание формы -->
<input name=referer value="'
.urlencode($_SERVER['REQUEST_URI']).'" type=hidden>
</form>'
;
?>
а в обработчике уже перенаправлял бы пользователей:
<?
header
("Location: ".urldecode($_POST['referer']);
?>

Ну конечно, тут тоже юзер может подменить данные, но зато будет увереность, что у обычных пользователей не возникнет проблем(которые могли бы возникнут, к примеру если бы стоял фаерволл, который режет реферера)

   
 
 автор: elenaki   (26.05.2006 в 17:09)   письмо автору
 
   для: Shorr Kan   (26.05.2006 в 16:45)
 

хостер ответил, что на другом сайте, где нормальный URL, он тоже не может видеть
HTTP_REFERER и сказал, что ее не обязательно всегда видно (!!!) и что виновато, скорее
всего, окружение... ну и что мне делать? мне надо после заполнения формы для входа
вернуться именно на ту страницу, с которой форма заполнялась. форма подключается
инклюдом на все страницы сайта (если юзер авторизован, то выводятся другие ссылки
вместо формы).

   
 
 автор: Shorr Kan   (26.05.2006 в 16:45)   письмо автору
 
   для: elenaki   (26.05.2006 в 16:38)
 

Не могу утверждать достоверно, но недостоверно - могу... я и с https получал реферер. Причем - и откуда пришли, и куда пришли - оба сайта были https ... referer был.

   
 
 автор: elenaki   (26.05.2006 в 16:38)   письмо автору
 
   для: Shorr Kan   (26.05.2006 в 16:37)
 

ups!
там еще и hhtpS!!!! значит, нельзя получить referer? с https ведь только cURL работает...
на локальном работает и на другом сайте, где тоже тестовый период, но не Плеск (URL нормальный, просто в hosts ему прoписали IP)

   
 
 автор: Shorr Kan   (26.05.2006 в 16:37)   письмо автору
 
   для: elenaki   (26.05.2006 в 16:34)
 

Вы попробуйте с другого сайта установить такую же форму для входа... это возможно? С сайта, который имеет простой url .... сразу всё и проверите.

   
 
 автор: elenaki   (26.05.2006 в 16:34)   письмо автору
 
   для: Shorr Kan   (26.05.2006 в 16:31)
 

я для этого и привела структуру URL. возможно, дело в том, что там 2 http... хостер не отвечает, зараза :(.

   
 
 автор: Shorr Kan   (26.05.2006 в 16:31)   письмо автору
 
   для: elenaki   (26.05.2006 в 16:11)
 

У меня при register_globals=off - $_SERVER['HTTP_REFERER']; работает без изменений. Отменно.

   
 
 автор: elenaki   (26.05.2006 в 16:11)   письмо автору
 
 

не работает реферер при register_globals=off. такое может быть? или на сервере что-то еще отключено?

у нас тестовый период и URL не обычный (http://доменное имя), а - http://имя сервера:порт/sitepreview/http/наше имя (хостинг на Плеске)

пробовала и так getenv('HTTP_REFERER')... HET OTBETA.

переход осуществляется после заполнения формы, т.е. реферер должен быть. на локальном работает.

   

Сообщения:  [1-9] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования