Kemudian, saya memeriksa beberapa informasi yang relevan dan menemukan bahwa tidak mungkin untuk mendapatkan http_referer di IE melalui window.location.href atau di IE. Saya benar -benar tidak mengerti IE browser. Banyak browser berjalan dengan sangat baik, tetapi mereka tidak mendukung mereka. Pada akhirnya, tidak mungkin. Saya hanya bisa memalsukan metode http_referer sumber atau menggunakan js untuk memalsukannya.
Pengajuan HTTP_Referer yang dapat dikenali IE adalah peristiwa yang dipicu oleh klik atau permintaan yang dikirimkan oleh formulir. Berikut ini adalah metode yang dirangkum berdasarkan informasi online:
<script> function referurl (url) {var isie = (document.all)? true: false; if (iSie) {var linka = document.createElement ('a'); linka.href = url; document.body.appendchild (linka); linka.click ();} window.location = url; url = ”// www.vevb.com”; Referurl (url); </script>Metode ini pertama kali menggunakan dokumen. Semua untuk menentukan apakah browser saat ini adalah IE. Jika demikian, hasilkan tautan, dan kemudian secara otomatis jalankan acara OnClick. Jika tidak, gunakan JS untuk melompat. Dengan cara ini, Anda bisa mendapatkan http_referer saat memproses halaman
Metode ini diuji di IE, Firefox, Safari, Chrome
2. PHP menggunakan Curl untuk menempa IP dan asal HTTP Referrer
referer.php
<? php $ ch = curl_init (); curl_setopt ($ ch, curlopt_url, "http://mydomain.com/ip.php");curl_setopt($ch, curlopt_htpheader, array ('x-forwarded-for: 8.8.8.8. // buat ipcurl_setopt ($ ch, curlopt_referer, "//www.vevb.com/"); // Bangun asal curl_setopt ($ ch, curlopt_header, 1); $ out = curl_exec ($ ch); curl_close ($ ch); echo $ out;ip.php
<? phpfunction getClientIp () {if (! empt ($ _ server ["http_client_ip"])) $ ip = $ _server ["http_client_ip"]; lain if (! ip = $ _ for_ for_ forx_for_for_for_forwarded_for " (! kosong ($ _ server ["Remote_Addr"])) $ ip = $ _server ["Remote_Addr"]; selain itu $ ip = "err"; return $ ip;} echo "ip:". getClientiP (). "<br>"; echo "referer:". $ _Server ["http_referer"];