Heim  >  Artikel  >  Web-Frontend  >  Perfekt kompatibel mit den wichtigsten Browsern, um Kenntnisse über die HTTP_REFERER-Methode summary_javascript zu erwerben

Perfekt kompatibel mit den wichtigsten Browsern, um Kenntnisse über die HTTP_REFERER-Methode summary_javascript zu erwerben

WBOY
WBOYOriginal
2016-05-16 16:43:151404Durchsuche

Später habe ich einige relevante Informationen überprüft und festgestellt, dass IE HTTP_REFERER nicht über window.location.href abrufen kann oder dass ich den Browser von IE wirklich nicht verstehe, aber er unterstützt ihn einfach nicht Am Ende gibt es keine andere Möglichkeit, als die Quellmethode HTTP_REFERER in PHP zu fälschen oder JS zu verwenden, um sie zu fälschen.

Die HTTP_REFERER-Übermittlung, die der IE erkennen kann, ist ein Ereignis, das durch einen Klick oder eine von einem Formular übermittelte Anfrage ausgelöst wird. Das Folgende ist eine auf Online-Informationen basierende Zusammenfassung:

<script>
function referURL(url){
var isIe=(document.all)&#63;true:false;
if(isIe) {
var linka = document.createElement(‘a');
linka.href=url;
document.body.appendChild(linka);
linka.click();
}
else window.location = url;
}

var url=”http://www.jb51.net”;
referURL(url);
</script>

Diese Methode verwendet zunächst document.all, um zu ermitteln, ob der aktuelle Browser IE ist. Wenn dies der Fall ist, generiert sie automatisch einen Link und führt dann automatisch das Onclick-Ereignis aus. Auf diese Weise können Sie beim Verarbeiten der Seite

HTTP_REFERER erhalten

Diese Methode wurde in IE, Firefox, Safari und Chrome getestet

2. PHP verwendet Curl, um IP- und Quell-HTTP-Referrer zu fälschen

referer.php

<&#63;php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://mydomain.com/ip.php");
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-FORWARDED-FOR:8.8.8.8', 'CLIENT-IP:8.8.8.8')); //构造IP
curl_setopt($ch, CURLOPT_REFERER, "http://www.jb51.net/ ");  //构造来路
curl_setopt($ch, CURLOPT_HEADER, 1);
$out = curl_exec($ch);
curl_close($ch);

echo $out;

ip.php

<&#63;php
function getClientIp() {
if (!empty($_SERVER["HTTP_CLIENT_IP"]))
$ip = $_SERVER["HTTP_CLIENT_IP"];
else if (!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
else if (!empty($_SERVER["REMOTE_ADDR"]))
$ip = $_SERVER["REMOTE_ADDR"];
else
$ip = "err";
return $ip;
}
echo "IP: " . getClientIp() . "<br>";
echo "referer: " . $_SERVER["HTTP_REFERER"];

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn