怎么用js代码修改referer的值?

怎么用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)

?>

<meta name="referrer" content=“no-referrer”>

referrer是用于追踪用户是从哪个页面跳转过来,js中使用document.referrer来得到值,一般用户做移动端back按钮,如用户通过别人发送时候链接进入页面时,可以隐藏back按钮。

referrer有五种属性

No Referrer (永远不做记录)

No Referrer When Downgrade(浏览器默认,当降级时候不记录,从https跳转到http)

Origin Only(只记录 协议+ host)

Origin When Cross-origin(仅在发生跨域访问时记录 协议+host)

Unsafe URL(永远记录)

参考链接: Referrer Policy 介绍  和  document.referrer的用法详解

以前对Http中Referer的认识不够透彻。最近理了理,记录一下。

1 Referer可以记录访问的来源,统计访问量,可以用来防盗链

2 客户端用js不能篡改Referer,用一些插件什么的可以达到伪造的目的

3 可以使用Fiddler修改Referer。

选择 fiddler窗口的rules->customize rules…在打开的CustomRules.js记事本窗口中,找到如下位置 static function OnBeforeRequest(oSession: Session) { // Sample Rule: Color ASPX requests in RED // if (oSession.uriContains(“.aspx”)) { oSession["ui-color"] = “red”}

在这一句的后面加上 if(oSession.oRequest.headers.ExistsAndContains(“Referer”,”220.170.79.105″)) {oSession.oRequest.headers.Remove(“Referer”) }

4 服务器端修改Referer,通过webClient,直接设置访问可以达到修改目的。

5 其它的一些修改Referer的方式方法。参考:http://www.cnblogs.com/mx3000/archive/2007/12/17/1003239.html

6 利用Referer防止图片盗链

虽然Referer并不可靠,但用来防止图片盗链还是足够的,毕竟不是每个人都会修改客户端的配置。(一般只允许站内访问)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11174040.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存