网页中添加了其他网站上的图片链接,这个图片设置了防盗链的图片后,访问报403解决办法

0 篇文章 0 订阅

碰到的问题

网页中添加了其他网站上的图片链接,这个图片设置了防盗链的图片后,访问报403

防盗链基本实现说明

主要是通过验证referer中记录的接口请求来源来验证网站有没有权限访问该图片资源,如果没权限在则返回403无权限访问

分析

经排查测试,发现一般大多数网站中图片的防盗链都是只屏蔽了不在白名单中的referer,但是没有屏蔽referer为空的请求

解决办法

在网页的<head>标签中添加<meta name="referrer" content="no-referrer"/>,意思是设置从此页面发出的请求(包括请求图片等资源文件)不设置referer请求来源
mf95Bd.png

Referrer简介

Referrer网站来路,访问者进入网站任何途径。HTTP Refererheader的一部分,当浏览器向web服务器发出请求的时候,一般会带上Referer,告诉服务器用户从那个页面连接过来的,服务器藉此可以获得一些信息用语处理。

作用

判断网站来源,可以相应的做一些校验,比如只允许某网站的请求,那么就可以通过获取referer,加以判断即可。

可设置的参数
参数说明
空字符串按照浏览器的默认值执行。默认值为 no-referrer-when-downgrade。部分标签可重定义此安全策略
no-referrer不传递 Referrer 报头的值
no-referrer-when-downgrade当发生降级(比如从 https:// 跳转到 http:// )时,不传递 Referrer 报头。但是反过来的话不受影响。通常也会当作浏览器的默认安全策略
same-origin同源,即当协议、域名和端口(如果有一方指定的话)都相同,才会传递 Referrer
origin将当前页面过滤掉参数及路径部分,仅将协议、域名和端口(如果有的话)当作 Referrer
strict-origin类似于 origin,但是不能降级。
origin-when-cross-origin跨域时(协议、域名和端口只有一个不同)和 origin 模式相同,否则 Referrer 还是传递当前页的全路径。
strict-origin-when-cross-originorigin-when-cross-origin 类似,但不能降级。
unsafe-url任意情况下,都发送当前页的全部地址到 Referrer,最宽松和不安全的策略。
了解Referrer详细内容可以参靠此篇博客
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值