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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: не работает $_SERVER["HTTP_REFERER"] при register_globals=off
 
 автор: elenaki   (26.05.2006 в 16:11)   письмо автору
 
 

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

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

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

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

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

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

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

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

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

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

   
 
 автор: 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:45)   письмо автору
 
   для: elenaki   (26.05.2006 в 16:38)
 

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

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

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

   
 
 автор: 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']);
?>

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

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

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

   
Rambler's Top100
вверх

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