js可以做到REFERER自定义吗

JavaScript021

js可以做到REFERER自定义吗,第1张

给你一段PHP代码片段,我目前正在使用的,几乎不用修改,可以直接使用。第一次回答技术帖。

<?php

$url='XXX'//这里填写url

$cookie='XXXXXXXXX' //COOKIE值

$post_data='' //post数据

$useragent='Mozilla/4.0 (compatibleMSIE 6.0Windows NT 5.1SV1.NET CLR 2.0.50727MAXTHON 2.0)'

$ch = curl_init()

curl_setopt($ch, CURLOPT_HTTPGET, 1)

curl_setopt($ch, CURLOPT_HEADER, 0)

curl_setopt($ch, CURLOPT_REFERER, "")//引号内填写你需要写的referer值

curl_setopt($ch, CURLOPT_URL,$url)

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data)

curl_setopt($ch, CURLOPT_COOKIE,$cookie)

curl_setopt($ch, CURLOPT_USERAGENT,$useragent)

$result = curl_exec($ch)

?>

js完整代码:<script language="javascript"> var refer=document.referrer document.getElementById('backurl').value=refer</script>“HTTP_REFERER”链接到当前页面的前一页面的 URL 地址。不是所有的用户代理(浏览器)都会设置这个变量,而且有的还可以手工修改 HTTP_REFERER。因此,这个变量不总是真实正确的。注意 document.referrer和“HTTP_REFERER” 中间差一个字母,却是不同的概念的东东,请注意使用js中的referrer使用,返回上一页在js中写上location.href = document.referrer就可以实现跳转到上一个页面了,让用户觉得体验很好但是在IE中referrer就没那么尽人意了啊,IE会清空referrer众所周知,我们web开发人员痛恨IE浏览器,因为IE不支持标准,标准外的默认行为又和其他浏览器经常不一致:在IE中用javascript做跳转,比如用window.location.href = “http://www.hnnedu.com ”google无法取到浏览器请求的HTTP referrer,因为IE清空了document.referrer而其他主流浏览器Firefox和Chrome都会保留referrer,这意味着IE又要享受“部长级”特殊待遇了:view sourceif (/MSIE (\d+\.\d+)/.test(navigator.userAgent)){var referLink = document.createElement('a') referLink.href = url document.body.appendChild(referLink) referLink.click()}else { location.href = url}这样的原理就是给IE浏览器的页面偷偷加了个链接,然后自动点这个链接,于是referrer就能保留了。

点击链接的时候,浏览器会自动在http header里加上referer字段记录来源链接。所以你的问题就是js怎么获取referer: https://www.baidu.com/s?ie=UTF-8&wd=js%20%E8%8E%B7%E5%8F%96referer

具体的做法应该就是用document.referrer取到来源链接。