V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
leyle
V2EX  ›  Python

外链图片时,浏览器要发送 referer ,有无在页面处理的方法,让用户浏览时,不发送 referer 字段给原网站

  •  
  •   leyle · 2015-01-02 15:54:52 +08:00 · 8365 次点击
    这是一个创建于 3416 天前的主题,其中的信息可能已经有所发展或是发生改变。
    A 网站引用了 B 站的 图片 <img src="b_url" />,
    然后在 A 站载入这个图片时,浏览器会自动在请求头加上 referer 字段,导致 B 站给了个盗链标识图片来,有无办法在页面上进行处理(不是用户浏览器上),让用户打开 A 站浏览其引用的 B 站的图片,不会有那个 referer 字段?
    noreferre.js 似乎没用。
    8 条回复    2018-01-03 21:32:42 +08:00
    aaaa007cn
        1
    aaaa007cn  
       2015-01-02 16:08:26 +08:00   ❤️ 2
    最简单就是上 https
    或者你找台服务器代理一下
    https://en.wikipedia.org/wiki/HTTP_referrer#Referer_hiding
    leyle
        2
    leyle  
    OP
       2015-01-02 16:14:30 +08:00
    @aaaa007cn 看样子上 https 比较靠谱,多谢。
    aaaa007cn
        3
    aaaa007cn  
       2015-01-02 18:55:28 +08:00
    https 只是不发送 referer

    对于某些只有特定 referer 才返回正确内容的网站
    如果期望不需在浏览器端做任何配置
    那只能通过代理的方式来伪造 referer

    对于你说的 noreferre.js 有点好奇
    查了下 https://github.com/knu/noreferrer
    原来就是利用了 wikipedia 上提到的 html5 的 rel = "noreferrer"、meta refresh 和 data 大法,外加 google redirector 补刀
    不过只对超链接有效
    msg7086
        4
    msg7086  
       2015-01-02 18:58:14 +08:00 via iPhone
    如果随便就能破掉防盗链,那还叫防盗链么?
    leyle
        5
    leyle  
    OP
       2015-01-03 13:12:35 +08:00
    @aaaa007cn 配置了 https 后,生效了,但是网站样式居然就变化了,因为页面内部引用的是外部的图片链接,所以浏览器还警告说页面不安全,这种有无办法去掉这个警告呢?并且奇怪的是,配置了 https,页面样式就丢掉了,我已经把样式引用文件(css、js)存在本地了。
    leyle
        6
    leyle  
    OP
       2015-01-03 13:19:50 +08:00
    @aaaa007cn 额,我自己二了,有一个 css 忘记存储到本地了,没问题了,多谢,打扰了。
    aaaa007cn
        7
    aaaa007cn  
       2015-01-03 15:54:32 +08:00
    https 引用 http 图片导致惊叹号大概无解了吧
    除非用 https 来代理,但这又回到开头了
    不过起码不会像 js、obj 那样被默认阻止掉
    lsj8924
        8
    lsj8924  
       2018-01-03 21:32:42 +08:00
    <meta name="referrer" content="never">
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   953 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:27 · PVG 05:27 · LAX 14:27 · JFK 17:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.