guan

  博客园  :: 首页  :: 新随笔  :: 联系 ::  :: 管理

从其它网站上的图片显示在自己的网站上,有时会遇到403 forbidden的问题,比如

 

点击其中的一个图片查看显示

直接通过浏览器访问图片的链接,图片能正常显示出来。

后来查到原因是因为图片源网站做了Anti HotLinking反盗链。

解决办法:

<!-- 解决防盗链 -->
<meta name="referrer" content="never"> <!--完美解决-->

知识点:
http协议中的referer 的 metedata 参数可以设置为以下几种类型的值:
  • never:删除 http head 中的 referer;
  • always:不改变http header 中的 referer 的值,注意:这种情况下,如果当前页面使用了 https 协议,而要加载的资源使用的是 http 协议,加载资源的请求头中也会携带 referer。
  • origin :只发送 origin 部分;
  • default:如果当前页面使用的是 https 协议,而正要加载的资源使用的是普通的 http 协议,则将 http header 中的 referer 置为空;

如果在文档中插入 meta 标签,并且 name 属性的值为 referer,浏览器客户端将按照如下步骤处理这个标签:


1.如果 meta 标签中没有 content 属性,则终止下面所有操作
2.将 content 的值复制给 referrer-policy ,并转换为小写
3.检查 content 的值是否为上面 list 中的一个,如果不是,则将值置为 default

 

 

posted on 2017-10-12 13:53  麦田里的包米  阅读(2709)  评论(0编辑  收藏  举报