referrer策略和meta标签的问题

news/2024/7/19 11:11:24 标签: javascript, ui, 爬虫

请求后端接口时,banner图片的请求出现403错误:GET http://xxxxxxxxxxxx 403(Forbidden)。在网上搜寻一番,解决方法如下:在index.html中的head中添加<meta name="referrer" content="no-referrer" />。

在此之前,关于referrer,知之甚少。参考https://imququ.com/post/refer...,说是一种引用策略,可以用来防止图片或视频被盗。它的原理是:http 协议中,如果从一个网页跳到另一个网页,http 头字段里面会带个 Referrer。图片服务器通过检测 Referrer 是否来自规定域名,来进行防盗链。如果没有设置referrer,那就可以直接绕过防盗链机制,直接使用或盗取。

referrer 的值有哪些?

1、no-referrer:所有请求不发送 referrer。

2、no-referrer-when-downgrade(默认值):当请求安全级别下降时不发送 referrer。目前,只有一种情况会发生安全级别下降,即从 HTTPS 到 HTTP。HTTPS 到 HTTP 的资源引用和链接跳转都不会发送 referrer。

3、same-origin:对于同源的链接和引用,会发送referrer,其他的不会。

4、origin:在任何情况下仅发送源信息作为引用地址。源信息包括访问协议和域名。

5、strict-origin:在安全级别下降时不发送 referrer;而在同等安全级别的情况下仅发送源信息。注意:这个是新加的标准,有些浏览器可能还不支持。

6、origin-when-cross-origin:同源的链接和引用,会发送完全的 referrer 信息;但非同源链接和引用时,只发送源信息。

7、strict-origin-when-cross-origin:同源的链接和引用,会发送 referrer。安全级别下降时不发送 referrer。其它情况下发送源信息。注意:这个是新加的标准,有些浏览器可能还不支持。

8、unsafe-url:无论是否发生协议降级,无论是本站链接还是站外链接,统统都发送 Referrer 信息。正如其名,这是最宽松而最不安全的策略。

语法

Referrer-Policy: no-referrer

Referrer Policy 的设置方法

1、CSP(Content Security Policy),是一个跟页面内容安全有关的规范。在 HTTP 中通过响应头中的 Content-Security-Policy 字段来告诉浏览器当前页面要使用何种 CSP 策略。

 Content-Security-Policy: referrer no-referrer|no-referrer-when-downgrade|origin|origin-when-cross-origin|unsafe-url;

CSP 的指令和指令值之间以空格分割,多个指令之间用英文分号分割。

2、<meta> 标签

<meta name="referrer" content="no-referrer|no-referrer-when-downgrade|origin|origin-when-crossorigin|unsafe-url">
 

如果 content 属性不是合法的取值,浏览器会自动选择 no-referrer 这种最严格的策略。

3、通过a、area、link元素的 referrer属性

a href="http://www.baidu.com" referrer="no-referrer|origin|unsafe-url"

meta标签的延伸

meta标签用来描述一个HTML网页文档的属性,有关页面的元信息,主要有两个属性:name 和 http-equiv

1、<meta name="参数" content="具体的描述">

name属性主要用于描述网页,比如网页的关键词,叙述等。属性值为content,content中的内容是对name填入类型的具体描述,便于搜索引擎抓取。

2、name的参数

①、keywords:网页关键字

<meta name="keywords" content="food, water">

②、description:网站内容的描述,网站主要内容

<meta name="description" content="Study English online">

③、viewport:移动端视口,仅供移动设备使用

<meta name="viewport" content="width=device-width, initial-scale=1">

④、robots:搜索引擎爬虫的索引方式,content不填默认为all

<meta name="robots" content="all|none|index|noindex|follow|nofollow">

none : 搜索引擎将忽略此网页,等价于noindex,nofollow
noindex : 搜索引擎不索引此网页
nofollow: 搜索引擎不继续通过此网页的链接索引搜索其它的网页
all : 搜索引擎将索引此网页与继续通过此网页的链接索引,等价于index,follow
index : 搜索引擎索引此网页
follow : 搜索引擎继续通过此网页的链接索引搜索其它的网页

⑤、author:作者

<meta name="author" content="Sheldon">

⑥、copyright:标注版权信息

<meta name="copyright" content="yixinli"> //代表该网站为yixinli版权所有

⑦、revisit-after:搜索引擎爬虫重访时间

<meta name="revisit-after" content="one week" >

3、<meta http-equiv="参数" content="具体的描述">

http-equiv相当于http文件头的作用

4、http-equiv的参数:

①、content-Type:声明字符编码

<meta charset="utf-8">  // H5新增,推荐使用
<meta http-equiv="content-Type" content="text/html;charset=utf-8"> //旧的HTML

②、cache-control:指定请求和响应遵循的缓存机制

<meta http-equiv="cache-control" content="no-cache">

content的值有:

no-cache: 先发送请求,与服务器确认该资源是否被更改,如果未被更改,则使用缓存
no-store: 不允许缓存,每次都要去服务器上,下载完整的响应
public : 缓存所有响应,但并非必须。因为max-age也可以做到相同效果
private : 只为单个用户缓存,因此不允许任何中继进行缓存
maxage : 表示当前请求开始,该响应在多久内能被缓存和重用,而不去服务器重新请求。例如:max-age=60表示响应可以再缓存和重用 60 秒。
no-siteapp:禁止百度自动转码

③、expires:网页到期时间,到期后网页必须到服务器上重新传输。

<meta http-equiv="expires" content="Sunday 26 October 2018 10:00 GMT" />

④、refresh:自动刷新并指向某页面

<meta http-equiv="refresh" content="2; URL=http://www.sina.com/"> //意思是2秒后跳转新浪

⑤、X-UA-Compatible:浏览器采取何种版本渲染当前页面

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> //指定IE和Chrome使用最新版本渲染当前页面

⑥、Set-Cookie:为页面定义cookie

如果网页过期,那么这个网页存在本地的cookies也会被自动删除。

<meta http-equiv="Set-Cookie" content="name, date"> //格式

参考文档:
https://imququ.com/post/refer...
https://www.jianshu.com/p/b12...
https://developer.mozilla.org...
https://developer.mozilla.org...
https://segmentfault.com/a/11...


http://www.niftyadmin.cn/n/928620.html

相关文章

eslint配置大全

用法非常简单&#xff0c;找到.eslintrc.js下的rules添加对象即可,比如我要把规则原本单引号要变为双引号&#xff0c;那加上"quotes": [1, "double"] 如果违反了规则情况下&#xff0c;这里的数字&#xff1a;0表示不不处理&#xff0c;1表示警告&#xf…

分类--真与假以及正类别与负类别

在本部分&#xff0c;我们将定义用于评估分类模型的指标的主要组成部分。不过&#xff0c;我们先来看一则寓言故事&#xff1a; 伊索寓言&#xff1a;狼来了&#xff08;精简版&#xff09; 有一位牧童要照看镇上的羊群&#xff0c;但是他开始厌烦这份工作。为了找点乐子&#…

UGUI使用Scroll View控件制作一个2列的滚动视图

需要的Unity版本&#xff0c;UI中有Scroll View组件 创建Scroll View&#xff0c;调整大小 在Content中添加UI控件&#xff0c;如Button&#xff0c;调整大小。可以看到Button重叠在一起了 给Content添加Grid Layout Group组件Constraint选择Fixed Column Count&#xff0c;Con…

设计模式(五)建造者模式

1、简述 建造者模式&#xff08;Builder Pattern&#xff09;使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 一个 Builder 类会一步一步构造最终的对象。该 Builder 类是独立于其他对象的。…

分类--准确率

准确率是一个用于评估分类模型的指标。通俗来说&#xff0c;准确率是指我们的模型预测正确的结果所占的比例。正式点说&#xff0c;准确率的定义如下&#xff1a; $$\text{Accuracy} \frac{\text{Number of correct predictions}}{\text{Total number of predictions}}$$ 对于…

一种超长行程螺旋传动机构

摘要&#xff1a; 一种超长行程螺旋传动机构&#xff0c;包括锁紧螺母、端盖、支座、滚珠丝杆副、同步带轮、轴承组、支承套、电机支架、工作台、同步带、胀紧接套、调节底板、伺服电机。所述滚珠丝杆副的丝杆两端通过端盖支座固定拉直&#xff0c;滚珠丝杆副的螺母通过轴承组安…

分类--精确率和召回率

精确率 精确率指标尝试回答以下问题&#xff1a; 在被识别为正类别的样本中&#xff0c;确实为正类别的比例是多少&#xff1f; 精确率的定义如下&#xff1a; $$\text{Precision} \frac{TP}{TPFP}$$ 注意&#xff1a;如果模型的预测结果中没有假正例&#xff0c;则模型的精确…

代理IP对金融数据采集的作用

金融行业经常打交道的文化就是“数字文化”当然金融行业的行业圈子里有自己的数字规则&#xff0c;在整个运行中开展数字运作的一个活动。当然&#xff0c;现在生活条件好了&#xff0c;很多人口袋里的钱也鼓了起来&#xff0c;就想做点什么投资&#xff0c;让钱生钱。但是现在…