Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Refferery tworzone poprzez redirecty.
Forum PHP.pl > Forum > Przedszkole
kamil9012
Witam.
Na czym polega refferer?
Przypuśćmy, że 1000 użytkowników klika na stronie forum.php.pl w link, który przenosi go na moją stronę. Wtedy ja widzę u siebie w statystykach, że mam 1000 reffererów jako forum.php.pl smile.gif Jednym słowym refferer to strona, dzięki której użytkownik trafia na inną.

redirect - strona, która pośredniczy. Np. użytkownik klika w wp.pl/redirect.php?link=link, czeka 3 sekundy i ma automatycznie przekierowanie na docelową stronę.

Posiadam taki kod dla redirect.php:
  1. <?php
  2.  
  3. $Przekierowania = Array(
  4. 'empik' => 'http://www.empik.com/',
  5. 'costam' => 'http://jakasstrona.pl/',
  6. );
  7.  
  8. if (!isset($_GET['link'])) exit;
  9.  
  10. if (!array_key_exists($_GET['link'], $Przekierowania)) exit;
  11.  
  12. ?>
  13. <html>
  14. <head>
  15. <meta http-equiv="refresh" content="3;url=<?php echo $Przekierowania[$_GET['link']]; ?>">
  16. </head>
  17. <body>
  18. tekst przy przekierowaniu
  19. </body>
  20. </html>


Moje pytanie smile.gif
Czy dałoby zrobić żeby reffererem dla strony docelowej był adres strony z redirectem?

Przykład. użytkownik klika w link wp.pl/redirect.php?link=link ---> on przekierowuje go na moją i żeby na mojej stronie w statystykach refferer'ami był te linki: wp.pl/redirect.php?link=link


Jeżeli dałoby radę zmienić powyższy kod żeby refferery były widoczne to prosiłbym co należałoby zmienić?


z góry dziękuję
Sephirus
Hmm czyli chcesz po prostu aby twój redirect.php był przezroczysty dla strony docelowej?

User klika a -> b -> c

A c ma myśleć że kliknął a -> c?

hmmm...
kamil9012
Nie smile.gif

strona c ma myśleć, że kliknął b ---> c


Jak mógłbym to zrobić? (aktualnie strona c nie widzi reffererów)
Crozin
Specyfikacja protokołu HTTP nie jest zbyt wylewna w kwestii tego kiedy nagłówek Referer ma być wysyłany, a kiedy nie. Stwierdza jedynie że:
Cytat
The Referer field MUST NOT be sent if the Request-URI was obtained from a source that does not have its own URI, such as input from the user keyboard.
Najwidoczniej z jakiegoś powodu - mi nieznanego - taki rodzaj przekierowania traktowany jest przez przeglądarki jako niegodny wysyłania tego nagłówka. wink.gif
kamil9012
czyli rozumiem, że to jest nie do wykonania?
Crozin
Generalnie jeżeli przeglądarka nie wysyła to raczej z poziomu właściciela strony nie zmusisz jej do wysłania tego.
Zresztą nigdy nie powinieneś polegać na tym nagłówku. Pomijając fakt, że jak w każdym innym może w nim znaleźć się dosłownie wszystko, sporo ludzi dbających o swoją prywatność wyłącza w przeglądarce opcję wysyłania go. Albo nawet ustawiają by zawsze miał jedną i tą samą wartość. Tak więc do jakiś niezbyt istotnych rzeczy, dodatków czy statystyk? Tak. Do czegoś co wymaga sensownej wartości w tym nagłówku? Powinieneś zmienić metodę.

Znacznie lepszym rozwiązaniem wydaje się być przekazanie danych drugiej stronie w formie parametru żądania. ...?source=http%3a%2f%2fmojadomena.com%2f
Nadal jest to podatne na manipulacje, ale mimo wszystko jest bardziej stabilne.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.