前言
富文本中复制百度百科的一份知识,在项目预览时发现图片显示不出来,报403问题,
图片地址用新网址打开正常显示
原因:403是防止盗链的错误(这种设计,是api厂商正常保证自己的服务器不被刷流量)
解决
- 方案一:使用no-referrer,在head 中添加
<meta name="referrer" content="no-referrer" />
防盗链的机制:
通过页面的referrer信息,判断访问者来源,是否本站点,然后对图片等请求作出相应
no-referrer:
1、整个 Referer 首部包含了当前请求页面的来源页面的地址,即表示当前页面是通过此来源页面里的链接进入的。
2、服务端一般使用 Referer 首部识别访问来源,可能会以此进行统计分析、日志记录以及缓存优化等。
3、首部会被移除。访问来源信息不随着请求一起发送。
官方定义文档 : https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referrer-Policy
隐藏请求体中标注来源referrer字段,referrer字段只能隐藏,不能定制,
这样服务器端的防盗链就无法检测
- 方案二:使用images.weserv.nl
getImage(url){
console.log(url);
// 把现在的图片连接传进来,返回一个不受限制的路径
if(url !== undefined){
return url.replace(/^(http)[s]*(\:\/\/)/,'https://images.weserv.nl/?url=');
}
}
把图片路径直接传进去,把原来url前面的http:///https://替换或者直接在图片url前加上
https://images.weserv.nl/?url=
解释:
Images.weserv.nl is an image cache & resize service. Our servers resize your image,
cache it worldwide, and display it.
Images.weserv.nl是一种图像缓存和调整大小服务。Images.weserv.nl服务器会调整您的图像大小,在全球范围内缓存并显示它。
拓展
PS: meta一览表
<meta charset="utf-8"> <!-- 设置文档字符编码 -->
<meta http-equiv="x-ua-compatible" content="ie=edge"><!-- 告诉IE浏览器,IE8/9及以后的版本都会以最高版本IE来渲染页面。 -->
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"><!-- 指定页面初始缩放比例。-->
<!-- 上述3个meta标签须放在head标签最前面;其它head内容放在其后面,如link标签-->
<!-- 允许控制加载资源 -->
<meta http-equiv="Content-Security-Policy" content="default-src 'self'">
<!-- 尽可能早的放在文档 -->
<!-- 只适用于下面这个标签的内容 -->
<!-- 使用web应用程序的名称(当网站作为一个应用程序的时候)-->
<meta name="application-name" content="Application Name">
<!-- 页面的简短描述(限150个字符)-->
<!-- 在某些情况下这个描述作为搜索结果中所示的代码片段的一部分。-->
<meta name="description" content="A description of the page">
<!-- 控制搜索引擎爬行和索引的行为 -->
<meta name="robots" content="index,follow,noodp"><!-- 所有搜索引擎 -->
<meta name="googlebot" content="index,follow"><!-- 谷歌 -->
<!-- 告诉谷歌搜索框不显示链接 -->
<meta name="google" content="nositelinkssearchbox">
<!-- 告诉谷歌不要翻译这个页面 -->
<meta name="google" content="notranslate">
<!-- Google网站管理员工具的特定元标记,核实对谷歌搜索控制台所有权 -->
<meta name="google-site-verification" content="verification_token">
<!-- 说明用什么软件构建生成的网站,(例如,WordPress,Dreamweaver) -->
<meta name="generator" content="program">
<!-- 简短描述你的网站的主题 -->
<meta name="subject" content="your website's subject">
<!-- 很短(10个词以内)描述。主要学术论文 -->
<meta name="abstract" content="">
<!-- 完整的域名或网址 -->
<meta name="url" content="https://example.com/">
<meta name="directory" content="submission">
<!-- 对当前页面一个等级衡量,告诉蜘蛛当前页面在整个网站中的权重到底是多少。General是一般页面,Mature是比较成熟的页面,Restricted代表受限制的。 -->
<meta name="rating" content="General">
<!-- 隐藏发送请求时请求头表示来源的referrer字段。 -->
<meta name="referrer" content="no-referrer">
<!-- 禁用自动检测和格式的电话号码 -->
<meta name="format-detection" content="telephone=no">
<!-- 通过设置“off”,完全退出DNS队列 -->
<meta http-equiv="x-dns-prefetch-control" content="off">
<!-- 在客户端存储 cookie,web 浏览器的客户端识别-->
<meta http-equiv="set-cookie" content="name=value; expires=date; path=url">
<!-- 指定要显示在一个特定框架中的页面 -->
<meta http-equiv="Window-Target" content="_value">
<!-- 地理标签 -->
<meta name="ICBM" content="latitude, longitude">
<meta name="geo.position" content="latitude;longitude">
<meta name="geo.region" content="country[-state]"><!-- 国家代码 (ISO 3166-1): 强制性, 州代码 (ISO 3166-2): 可选; 如 content="US" / content="US-NY" -->
<meta name="geo.placename" content="city/town"><!-- 如 content="New York City" -->
微信视频投屏:
1、在手机端微信中会拦截投屏功能,需要首先点击视频页面右上角“...”图标,选择“在浏览器中打开”,在列表中选取具备投屏功能的浏览器,推荐使用QQ浏览器
2、在新打开的浏览器视频页面里,点击播放按钮,可在视频框右上角看到一个“TV”投屏小图标,只要电视和手机在同一WiFi环境下,点击按钮即刻享受大屏观感!
本站资源声明:
1、如需免费下载云盘资源,请先点击页面右上角的“登录”按钮,注册并登录您的账号后即可查看到网盘资源下载地址;
2、本站所有资源信息均由网络爬虫自动抓取,以非人工方式自动筛选长效资源并更新发布,资源内容只作交流和学习使用,本站不储存、复制、传播任何文件,其资源的有效性和安全性需要您自行判断;
3、本站高度重视知识产权保护,如有侵犯您的合法权益或违法违规,请立即向网盘官方举报反馈,并提供相关有效书面证明与侵权页面链接联系我们处理;
4、作为非盈利性质网站,仅提供网络资源的免费搜索和检测服务,无需额外支付其他任何费用,学习和交流的同时请小心防范网络诈骗。