Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] header i $_SERVER['HTTP_REFERER']
patryczakowy
post
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Witam mam skrypt przekierowujący przy pomocy funkcji header
  1. header("Location: domena.pl")

Problem polega na tym że przychodzą kliknięcia bez $_SERVER['HTTP_REFERER'] i jeśli ta zmienna jest pusta i nastąpi przekierowanie strona na którą nastąpi przekierowania nie widzi skąd ono nastąpiło. chodzi o to że chciałbym w momencie gdy $_SERVER['HTTP_REFERER'] jest puste ustawić nagłówek Referer: na domenę na której jest wywołane przekierowanie tak by po przekierowaniu było widać ską ono nastąpiło. Próbował dodawać Referer: do header zrobić refresch w meta tagach jednak nic nie przynosi pożądanego efektu. A z tego co wyczytałem to ponoć nawet są roboty spamujące tym nagłówkiem więc na pewno się da jakoś go ustawić.

Z góry dziękuję za wszystkie rady.

Ten post edytował patryczakowy 23.10.2012, 11:40:04
Go to the top of the page
+Quote Post
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


A może prościej będzie dodać do linku GET z źródłem kiedy referer zawiedzie?
Go to the top of the page
+Quote Post
sowiq
post
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Po pierwsze to zainwestuj w przeglądarkę z kolorowaniem błędów ortograficznych, bo nie da się czytać tego, co napisałeś...

Jeśli znasz trochę angielski, to polecam ten post: http://stackoverflow.com/a/5643868 Jest tam bardzo ładnie opisane dlaczego nie można polegać na nagłówku HTTP_REFERER. Jeśli nie znasz angielskiego, to skorzystaj z http://translate.google.com

Powinieneś ten problem rozwiązać inaczej, np.
  1. header("Location: domena.com?ref=moja-domena.pl")


Ten post edytował sowiq 23.10.2012, 11:32:27
Go to the top of the page
+Quote Post
patryczakowy
post
Post #4





Grupa: Zarejestrowani
Postów: 420
Pomógł: 44
Dołączył: 22.10.2008

Ostrzeżenie: (0%)
-----


Czemu niemożna polegać to ja wiem tylko zakładam że jeśli będzie wysłany nagłówek Referer to użytkownik zobaczy to w swoich logach na stronie i narzędziach typu Google anlictics. a z tego co zauważyłem to przy braku tego nagłówka nie jest to odnotowywane.


Być może pytanie powinno brzmieć jak zmusić przeglądarkę by ten nagłówek wysłała?
Go to the top of the page
+Quote Post
markonix
post
Post #5





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


W GA ma utm_source czy jakoś tak.
Go to the top of the page
+Quote Post
sowiq
post
Post #6





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Cytat(patryczakowy @ 23.10.2012, 12:50:37 ) *
Być może pytanie powinno brzmieć jak zmusić przeglądarkę by ten nagłówek wysłała?


Kod
<?php
    header("Refresh: 1;url=http://domena.com")
?>
<script>
    document.location.href = 'http://domena.com';
</script>


Działa to w prosty sposób. Przekierowanie z JS wysyła Referer (przynajmniej pod najnowszym FF - musisz sprawdzić inne przeglądarki). Jeśli z jakiegoś powodu przekierowanie JS się nie powiedzie, to i tak po 1 sekundzie zadziała przekierowanie ustawione w nagłówku. Tyle że pozbawione referera.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.09.2025 - 05:18