Smart Header:修改 HTTP 请求头,User-Agent、Accept-Language、反盗链

[复制链接]
查看11 | 回复0 | 2006-4-17 13:46:34 | 显示全部楼层 |阅读模式
本帖最后由 adia 于 2014-10-14 23:09 编辑
扩展地址:https://chrome.google.com/webstore/detail/ncgnmldbedmbadafajhjeahmafdmggbp
先说说反盗链。
反盗链基础测试:http://bbs.kafan.cn/thread-1137245-1-1.html
反盗链进阶测试:http://bbs.kafan.cn/thread-1460342-1-1.html
Chrome现成的反盗链扩展已有Adkill and Media Download(集成规则,不方便自定义),Redirector(已在商店下架,一年多未更新)。还有一个可自定义的扩展,下文再说。
用 Smart Header 自定义反盗链的准备工作:
进入扩展选项,在请求头下点击“+”号,添加请求头:Referer ,保存。
自定义反盗链的一个简单例子:
例如网页:http://mozilla.com.cn/post/774/ ,如果网页中图片看不到,可点击地址栏右边的 Smart Header 图标,在 Referer 处的下拉菜单选择“删除”,刷新页面(在隐身模式打开更可靠,首先要在隐身模式启用Smart Header)。如果图片这时候看到了,说明规则生效。这时候,可对图片右键,选择“在新标签页打开图片”或“审查元素”,目的是要找到图片的真实地址,然后找到比较有规律的一组字符:photo.store.qq.com
在扩展选项中的 Referer 请求头选择“自动规则”--“新建自动规则”,起一个名字,修改该请求头的值为 @DELETE (可在下拉菜单选择),添加一个条件,URL 含有 photo.store.qq.com ,保存。就成功添加规则了。这时可点击地址栏右边的扩展图标,在 Referer 处的下拉菜单选择“自动”。
修改规则后,可能需要清理缓存或Cookie才能看到效果,可先用隐身模式检查效果。
偶参考了
http://bbs.kafan.cn/thread-1352326-1-1.html ,
http://bbs.kafan.cn/thread-1738181-1-1.html,
这两个帖子的规则,整理出在 Smart Header 使用的规则,导出设置在附件,大家可把下面附件的内容复制到扩展选项--“选项”,Master Mode 的框中,点击“Write”就导入设置了,按“应用”就保存设置。
反盗链设置1.7z (1.79 KB, 下载次数: 119)
规则条目都是在两个帖子中找的,约90%是照搬过来,极少数几个修正了。部分规则已测试,部分规则未曾测试。由于偶对正则表达式不熟悉,及为了让使用门槛降低,就统一用了扩展中的URL字符匹配,不用正则了。
我的设置中的规则命名:自定义规则命名时,打数字0至9前先打空格,排序时就可排在前面(排序是按名称排序的)。
偶自己整理的自定义反盗链规则的一般步骤:
1.点击地址栏旁边扩展图标,Referer 临时切换到“删除”,刷新页面(或用隐身窗口打开页面),有效的话就用审查元素找出真实地址,找到比较有规律的一组字符串,添加自定义规则。第一步没效果就进行第二步;
2.尝试匹配主站名。删除 Referer 不起效果时,就在未显示图片的位置处右键审查元素,找出图片真实地址的一组有规律的字符串,对其搜索,为匹配主站名提供线索(一个例子是pixiv)。第二步没效果时请进行第三步;
3.搜索网页找相关信息或论坛求助。
2014年10月10日补充:8楼 ywzhaiqi 说的情况,用RSS阅读器,例如 inoreader,遇到防盗链问题,可以加一条规则(只是一个例子,注意红色字的地方):
名称:阅读器 inoreader
修改该请求头的值为:@DELETE
Referer含有 inoreader.com
对经常访问的网站也可设置,例如卡饭(不是所有网站都可以,天猫网就会有问题):
名称:卡饭
修改该请求头的值为:@DELETE
Referer含有kafan.cn
上面这两条规则应该放在常规规则的后面,不然会干扰常规规则。这两条规则不保证100%不出意外,但绝大部分情况下不会破坏页面。
正如帖子中,http://bbs.kafan.cn/thread-1738181-1-1.html 说的,反盗链有两种策略,一种就是上面介绍的,一个一个找规则,另一种是把所有 Referer 都删除(可对付大部分反盗链),对个别网站再进行修正。第二种策略有不好的地方,可能会把正常的页面破坏;好的地方是可保护隐私。
如果部分人使用第一种策略又想保护隐私的话,可增加一个自定义规则:(有可能破坏网页,慎重选择)
规则命名:全部规则之后
修改该请求头的值为:@DELETE
添加一个条件:Referer含有(不填)
保存。
这个“全部规则之后”要放在所有规则之后,不然会干扰其他规则。(不填)表示留空。

Smart Header 和 Firefox 的 referrer control 扩展自定义规则的联系:
在填写 Smart Header 自定义规则的某个条件时,最左边下拉菜单可选择 URL 或者 Referer ,
Smart Header 的 URL 对应 Firefox 的 referrer control 自定义规则中的“目标地址”;
Smart Header 的 Referer 对应 Firefox 的 referrer control 自定义规则中的“来源地址”。
偶并没有用过 Firefox 的 referrer control 扩展,只是把两个扩展进行类比时突然想到的。
Firefox 的 referrer control 扩展有“仅处理第三方请求”(忽略相同域名请求)的设置,不愧是专业的反盗链扩展(其实这个功能一般人用不上)。
Chrome也有类似的扩展,Referer Control:
https://chrome.google.com/webstore/detail/hnkcfpcejkafcihlgbojoidoihckciin
本文的目的并不是让大家放弃原有的反盗链方案,偶只是测试用 Smart Header 进行反盗链的可行性。(事实证明是胜任的)
对于偶来说,把 Smart Header 用于反盗链只是辅助功能,偶主要是用它来进行切换 User-Agent、Accept-Language 等。
[可发送空白值,不发送,发送自定义值(包括预设值),默认值]还有很多待开发功能。
建议在扩展选项中的“选项”--勾选“即使退出 Chrome 也保持每一个请求头的值”。这样下次启动Chrome就会沿用上次退出Chrome时的请求头设置。
关于修改Accept-Language,这个帖子修改的是整个浏览器的语言偏好,如果只想对Google搜索切换到语言偏好是英文的话,就把条件简单设置:
URL 含有 www.google. (如果细化的话,可用“not 含有”进行排除)
还有一个扩展可切换 User-Agent:
https://chrome.google.com/webstore/detail/ffhkkpnppgnfaobgihpdblnhmmbodake

本文难免有错漏,欢迎指正。
PS:谨慎起见,以防万一,留个心眼:关于这个扩展的旧版本:
http://blog.laobubu.net/646 、
http://blog.laobubu.net/555
To:作者laobubu,偶不是故意的。undefined
laobubu的新博客:http://note.laobubu.net/ (贴出来只是让可能大意的网友别在他的旧博客留言了)


2014年10月14日:下面是对旧信息的“挖掘”,通常是过时了,一般人可不看。
旧版本扩展介绍:分享个扩展Change HTTP Request Header:http://bbs.kafan.cn/thread-1244449-1-1.html
旧版本下载地址(本站下载):http://www.chromein.com/crx_11648.html
旧版本的一个用法介绍(失效):http://www.v2ex.com/t/29931
旧版本同时期反盗链(还有用):http://bbs.kafan.cn/thread-1285283-1-1.html
该扩展更早的版本介绍:http://bbs.kafan.cn/thread-1175318-1-1.html
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行