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

Форум PHP

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

 

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

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

тема: HTTP_REFERER
 
 автор: Jaroslav   (14.02.2009 в 13:19)   письмо автору
 
 

Подскажите, пожалуйста.

Когда перемещаюсь по страницам сайта через анонимный прокси, то команда

echo getenv('HTTP_REFERER');

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

  Ответить  
 
 автор: cheops   (14.02.2009 в 13:40)   письмо автору
 
   для: Jaroslav   (14.02.2009 в 13:19)
 

Легко, более того, этот параметр легко может быть модифицирован со стороны пользователя, у некоторых браузеров и FireWall-ов - это штатная функция. Скрипты вообще очень просто подделывают реферер - есть даже такая мода среди спамеров, запускать на сайты скрипты с поддельными реферерами, чтобы наивные Web-разработчики, которые следят за ними ходили на их страницы в поисках ссылок увеличивая тем самым посещаемость рекламируемого ресурса.

Переменная окружения HTTP_REFERER устанавливается из тех данных что присылает клиент, а клиент может прислать все что угодно.

  Ответить  
 
 автор: Jaroslav   (14.02.2009 в 15:01)   письмо автору
 
   для: cheops   (14.02.2009 в 13:40)
 

Спасибо

  Ответить  
 
 автор: Рома   (14.02.2009 в 20:04)   письмо автору
 
   для: cheops   (14.02.2009 в 13:40)
 

a что же тогда делать, когда пользователь форму заполняет, на форуме например?

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

как быть в такой ситуации? не писать же для каждой страницы свою переменную, для перенаправления.

  Ответить  
 
 автор: Jaroslav   (14.02.2009 в 20:47)   письмо автору
 
   для: Рома   (14.02.2009 в 20:04)
 

обычно на стр. формы знаю ID сообщения (темы) - его и использую для перенаправления.

  Ответить  
 
 автор: Рома   (14.02.2009 в 21:01)   письмо автору
 
   для: Jaroslav   (14.02.2009 в 20:47)
 

вот жопа, у мнея нет id.

  Ответить  
 
 автор: Trianon   (14.02.2009 в 21:09)   письмо автору
 
   для: Рома   (14.02.2009 в 21:01)
 

как вы тогда вообще определяете, в какую тему это сообщение класть? :)

  Ответить  
 
 автор: Рома   (14.02.2009 в 21:47)   письмо автору
 
   для: Trianon   (14.02.2009 в 21:09)
 

при навигации по сайту изменяются $_GET[1], $_GET[2], $_GET[3], $_GET[4]

последний говорит
if($_GET[4]=='ключ1') то пора подавать форму,
if($_GET[4]=='ключ2') показывать сообщения текущего раздела

при записи в базу данных вместе с постом пишется дополнительное поле $pole=$_GET[1].$_GET[2].$_GET[3];

непредвиденные ситуации исключены сравнением с массивом возможных $_GET переменных.

для перенаправления использовал 'referer'.

  Ответить  
 
 автор: cheops   (15.02.2009 в 12:25)   письмо автору
 
   для: Рома   (14.02.2009 в 20:04)
 

>как быть в такой ситуации? не писать же для каждой страницы свою переменную, для
>перенаправления.
Вовсе не обязательно - просто заведите в сессии значение, где и храните предыдущую страницу. В сессии пользователь ничего подделать или случайно затереть не сможет. В любом случае реферер - это лишь информация, которую клиент может предоставлять, а может и нет - ориентироваться на это значение в логике скрипта не очень разумно.

  Ответить  
Rambler's Top100
вверх

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