video播放视频,报403错误的处理办法

作者 : 开心源码 本文共781个字,预计阅读时间需要2分钟 发布时间: 2022-05-14 共162人阅读

调用外部链接,报403错误

背景:在开发一个视频播放项目中video_ts(一个用typescript开发的视频播放器)中调用MP4 资源的时候,无法播放,报403错误。然而直接在浏览器地址栏回车则可以正常播放。

报403错误则是访问被拒绝,既然我做了跨域解决还被拒绝这里就要提及浏览器的防盗链机制。

防盗链机制

当你的项目和需要访问的地址不在同一个域内,这时浏览器的防盗链机制就发挥作用了。其中防盗链是利用 HTTP header 中的 referer 来实现的。当浏览器向服务器发送请求时会带上 referer ,来告诉服务器从哪个页面链接过来的。

服务器通过识别 referer 来判断请求能否是自己的域名,假如不是自己的域名就会阻拦,不会将请求发送出去,假如是自己域名即可以继续访问。

请求发送成功的请求头:

image.png

请求未发送成功的请求头:(会有Referer字段)

image.png

处理方法

这里我采用的是比较暴力的方法,直接在标签里加 meta

<meta name="referrer" content="never">

在某些情况网站想要控制页面发送给服务器的 referer 信息时,可以使用 referer metadata 参数。

referer 的 metadata 属性可以设置 content 属性值为以下:

defaultneveralwaysorigin

default :若当前页面使用的是 https 协议,而正要加载资源使用的是普通的 http 协议,则将 http header 中的 referer 置空;

never :删除 http header 中的 referer,所有从当前页面发起的请求将不会携带 referer;

always :不改变 http header 中的 referer 的值;

origin :只发送 origin 部分;

原文:https://hrealm.github.io/posts/a2ab.html

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » video播放视频,报403错误的处理办法

发表回复