Mais tarde, verifiquei algumas informações relevantes e descobri que é impossível obter http_referer no ie através da janela.Location.href ou no ie. Eu realmente não entendo os navegadores do IE. Muitos navegadores correm muito bem, mas simplesmente não os apoiam. No final, não há como. Só posso fingir o método HTTP_Referer de origem ou usar o JS para forjá -lo.
O envio HTTP_REFERER que o IE pode reconhecer é um evento acionado por clique ou uma solicitação enviada por um formulário. A seguir, é apresentado um método resumido com base em informações on -line:
<SCRIPT> FUNÇÃO REFERURL (url) {var isie = (document.all)? true: false; if (isie) {var linka = document.createElement ('a'); linka.href = url; document.body.appendChild (linka); linka.click ();} janear.Local.Location = url; url = ”// www.vevb.com”; refereurl (url); </script>Este método usa primeiro document.atl para determinar se o navegador atual é IE. Nesse caso, gere um link e execute automaticamente o evento OnClick. Caso contrário, use o JS para pular. Dessa forma, você pode obter http_referer ao processar a página
Este método é testado em IE, Firefox, Safari, Chrome
2. O PHP usa o Curl para forjar IP e Origin HTTP Referent
referente.php
<? php $ ch = curl_init (); curl_setot ($ ch, curlopt_url, "http://mydomain.com/ip.php") ;curl_setopt($ch, curlopt_httpheader, ('xforded-for: 8.8.8.8,', ',', '8.8.8.8,', '; // Construa ipcurl_setopt ($ CH, Curlopt_Referer, "//www.vevb.com/"); // Construa a origem curl_setot ($ ch, curlopt_header, 1); $ out = curl_exec ($ ch); curl_close ($ ch); echo $ out;ip.php
<? phpfunction getClientip () {if (! vazio ($ _ server ["http_client_ip"])) $ ip = $ _server ["http_client_ip"]; else (! (! vazio ($ _ server ["remote_addr"])) $ ip = $ _server ["remote_addr"]; else $ ip = "err"; return $ ip;} echo "ip:". getClientip (). "<br>"; eco "referente:". $ _SERVER ["http_referer"];