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

Форум PHP

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

 

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

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

тема: HTTP_REFERER : redirect
 
 автор: sl1p   (30.11.2008 в 03:33)   письмо автору
 
 

<?
if(isset($_GET['lang'])){
 if(
in_array($_GET['lang'], array('en''ru'))){
  
$_SESSION['lang'] = $_GET['lang'];
  
header("location:" . (isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '/'));
 }
}


получается при клике на ссылку меняем язык, возвращаем пользователя обратно.
Возможно ли такое если юзверь придёт по ссылке с другого сайта, то вернётся обратно на "не мой" сайт?:)
Если да то как в данном случае будет более правильно это пофиксить?
Идея только искать в HTTP_REFERER мой домен:)

  Ответить  
 
 автор: Николай2357   (30.11.2008 в 04:53)   письмо автору
 
   для: sl1p   (30.11.2008 в 03:33)
 

Ну по такой схеме достаточно простого редирикта
<?
if(isset($_SERVER['HTTP_REFERER']))
{
// Тут вы творите с ним всё, что взбредет в голову
header("location:" $_SERVER['HTTP_REFERER']);
}
else
{
// Ваш сайт

  Ответить  
 
 автор: sl1p   (30.11.2008 в 07:10)   письмо автору
 
   для: Николай2357   (30.11.2008 в 04:53)
 

у меня что-то другое написано?

  Ответить  
 
 автор: Николай2357   (30.11.2008 в 09:18)   письмо автору
 
   для: sl1p   (30.11.2008 в 07:10)
 

Конечно другое
<?
if(isset($_SERVER['HTTP_REFERER']))
{
// Вот сюда кроме языка слабо проверку на принадлежность затолкать?
header("location:" $_SERVER['HTTP_REFERER']);
}
else
{
// Ваш сайт

  Ответить  
 
 автор: sl1p   (30.11.2008 в 09:29)   письмо автору
 
   для: Николай2357   (30.11.2008 в 09:18)
 

Я и спрашиваю как это лучше сделать, ептыть.
Я не спросил куда мне его затолкать, я спросил как.
Сидел втыкал в этот говнокод что вы предложили и не мог понять зачем он мне xD

  Ответить  
 
 автор: Николай2357   (30.11.2008 в 09:34)   письмо автору
 
   для: sl1p   (30.11.2008 в 09:29)
 

Дык сразу и не понять, чего надо то. Ну а тогда теперь понятен вопрос. Примерно так он звучит:

Хочется чего-то, не знаю кого.

  Ответить  
 
 автор: sl1p   (30.11.2008 в 09:52)   письмо автору
 
   для: Николай2357   (30.11.2008 в 09:34)
 

Возможно ли такое если юзверь придёт по ссылке с другого сайта, то вернётся обратно на "не мой" сайт?:)
Если да то как в данном случае будет более правильно это пофиксить?


тут не понятно разве что-то?

  Ответить  
 
 автор: sim5   (30.11.2008 в 09:57)   письмо автору
 
   для: sl1p   (30.11.2008 в 09:52)
 

Вернется как и куда, если он уже к вам пришел?

  Ответить  
 
 автор: sl1p   (30.11.2008 в 10:04)   письмо автору
 
   для: sim5   (30.11.2008 в 09:57)
 

ну если ссылка вызывается с другого сайта, тогда если есть HTTP_REFERER, он же будет содержать линк сайта с которого пришёл юзер, ведь так?
И судя из этого по моей функции уйдёт обратно:)

  Ответить  
 
 автор: Николай2357   (30.11.2008 в 10:22)   письмо автору
 
   для: sl1p   (30.11.2008 в 10:04)
 

А тогда что такое мой сайт ? Текущий или их несколько таких "моих"?

  Ответить  
 
 автор: sim5   (30.11.2008 в 10:26)   письмо автору
 
   для: sl1p   (30.11.2008 в 10:04)
 

А вы что у реферера, а не на своем сайте язык хотите установить? Если ваши ссылки со сторонних файлов передают параметр для языка (что не является правильным), то зачем куда-то котого-то отсылать?

PS. Если это ссылки вашего сайта, то location: $_SERVER['HTTP_REFERER'] вернет пользователя вновь на эту же страницу. Зачем?

  Ответить  
 
 автор: sl1p   (30.11.2008 в 10:49)   письмо автору
 
   для: sim5   (30.11.2008 в 10:26)
 

ррр)

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

Про другой сайт я спрашиваю на всякий случай.

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

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

Я делаю всё правильно и так как нужно мне:) Я спросил лишь мелкий нюанс этого.

  Ответить  
 
 автор: sim5   (30.11.2008 в 10:56)   письмо автору
 
   для: sl1p   (30.11.2008 в 10:49)
 

У вас редирект происходит когда? Когда вы обрабатываете параметр языка. Он что в ссылках на вас на сторонних сайтах имеется? Какие тогда вопросы могут быть?

  Ответить  
 
 автор: sl1p   (30.11.2008 в 11:13)   письмо автору
 
   для: sim5   (30.11.2008 в 10:56)
 

ну это всё понятно :)
но просто интересно для опыта возможно ли такое..

  Ответить  
 
 автор: Николай2357   (30.11.2008 в 13:52)   письмо автору
 
   для: sl1p   (30.11.2008 в 11:13)
 

:)))) Ответ на столько очевиден, что совершенно не понятно в чем вопрос...

  Ответить  
 
 автор: sl1p   (30.11.2008 в 13:53)   письмо автору
 
   для: Николай2357   (30.11.2008 в 13:52)
 

уточняю как бы xD

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

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