Bir kullanıcı PHP benimkinden önce gelen siteyi algılamak nasıl?

6 Cevap php

Nasıl kullanıcı PHP mayın erişmeden önce gelen sitesi algılayabilir?

6 Cevap

Bu deneyin:

$_SERVER['HTTP_REFERER']

Daha fazla bilgi için, bkz: HTTP referrer lütfen:

The referrer, or HTTP referrer—also known by the common misspelling referer that occurs as an HTTP header field—identifies, from the point of view of an internet webpage or resource, the address of the webpage (commonly the URL, the more generic URI or the i18n updated IRI) of the resource that links to it. By checking the referrer, the new page can see where the request came from.

echo $_SERVER['HTTP_REFERER'];

Bu tamamen güvenilir değil ve sahte olabilir, ama genel olarak kullanıcı komut almak için tıkladığınız URL ile doldurulur.

Andrew Hare devletler @ gibi in his answer, (HTTP isteğinin parçası olarak gönderilen bir başlıktır) HTTP_REFERRER sunucu değerini almak size tarayıcısının son siteyi anlatacağım.

Belirtmek gerekir, ancak, bu başlık / sunucu değişken meşru nedenlerle, bazı varlık bir dizi için, hiçbir değere sahip olacağı tamamen mümkün olmasıdır:

  • Aynı pencerede site URL yazdığınız kullanıcı
  • Kullanıcı aynı pencerede yer imi açıldı
  • Kullanıcı sadece tarayıcısını açtı ve yukarıdaki şeylerden birini yaptı

Yukarıdakilerin hepsi aynı şey, aynı tarayıcı penceresi başka bir siteye gitmek için kullanılan bir durumda gerçekten farklılıklar vardır, ama orada onlara yol bir belge, bir yönlendirme, ya da bir linke tıklayarak aracılığıyla istenmez oldu diğer bazı eylem seninkinden önce tarihinin sayfası tarafından istendiğinde.

Sen HTTP Referer Soket bakmak gerekir:

$_SERVER['HTTP_REFERER']

PHP Documentation daha fazla HTTP Başlıkları için bakın

Yukarıdaki notlar kullanıcı onun / tarayıcı bu bilgileri göndermek değil yapabilir, ya da bu bilgilerle dalaşamaz ve yanlış veri göndermek olduğunu doğru, ama akılda tutmak.