背景前端js中http跳转https报403错误
window.open('https://xxx.xxx.xxx.xxx:1443')
报错403错误
文章插图
文章插图
但是在浏览器中直接输入https地址却是可以正常访问的 。
问题解决将服务器上网页内http跳转https的request header与浏览器直接访问https地址的request header对比,发现多了一个referer 。问题应该就出现在这里,通过以下两种方式,实现网页内跳转不带referer,成功解决问题 。
- window.open('JAVAscript:window.name;','<script>location.replace("https://xxx.xxx.xxx")</script>');
- window.open('https://xxx.xxx.xxx','_blank','noopener,noreferrer,resizable')
提供三种解决方式
1、在A网站页面头部加入下面meta,所有跳转便不会携带referer
<meta name="referrer" content="no-referrer" />
拓展:same-origin:
对于同源的请求会发送引用地址,但是对于非同源请求则不发送引用地址信息 。
比如,www.AAA.com/page1.html 跳转到 www.AAA.com/page2.html 同源会携带 referrer,
www.AAA.com/page1.html 跳转到 www.BBB.com/page2.html 不同源不会携带 referrer,
<meta name="referrer" content="same-origin" />
除了可以设置 no-referrer 和 same-origin 其他 referrer 的设置值可参考:Referrer-Policy
W3c-Referrer Policy
Remove http referer
2、使用window.open来去除referrer
如果是新页签打开:
window.open('JavaScript:window.name;','<script>location.replace("'+你的跳转url+'")</script>');
如果是新窗口打开:window.open(你的跳转url, '_blank', 'noopener,noreferrer,resizable')
3、使用iframedocument.body.AppendChild(document.createElement('iframe')).src='javascript:"<script>top.location.replace(''+你的
2. referer又是什么东西?HTTP Referer 是 header 的一部分,当浏览器向 web 服务器发送请求的时候,一般会带上 Referer,用来表示从哪儿链接到当前的网页,服务器因此可以获得一些信息用于处理,采用的格式是 URL 。HTTP Referer 是 header 的一部分,当浏览器向 web 服务器发送请求的时候,一般会带上 Referer,用来表示从哪儿链接到当前的网页,服务器因此可以获得一些信息用于处理,采用的格式是 URL 。
文章插图
换句话说,借着 HTTP 来源地址,当前的网页可以检查访客从哪里而来,这也常被用来对付伪造的跨网站请求 。而 dereferer 则是将 HTTP 来源地址信息剥离,所以网站将无法识别访客从何而来 。
Referer 的正确英语拼法是 referrer 。由于早期 HTTP 规范的拼写错误,为保持向下兼容就将错就错了 。例如 DOM Level 2、Referrer Policy 等其他网络技术的规范曾试图修正此问题,使用正确拼法,导致当前拼法并不统一 。
概念与功能
当访客访问网页时,HTTP 来源地址 (referer 或 referring page) 是前一个网页的 URL 。如果是图片的话,通常指的就是图片所在的网页 。在网页浏览器送往网页服务器的时候,HTTP 来源地址就被包含在 HTTP 请求方法中 。
网站会将引用地址记录以便追踪用户的动态或进行统计,大部分分析软件也都会处理这个信息 。但因引用地址信息可能会带来隐私权问题,不少网页浏览器允许用户设置不要提交这个信息,有些代理服务器和防火墙也会将引用地址信息过滤掉,以避免外部获知非公开的网络地址 。缺少引用地址信息有可能会造成某些使用问题:某些服务器会因为缺少正确的引用地址信息而进行阻挡,以避免未经授权的图片引用(图像防盗链)或是其他对服务器有影响的行为 。针对这样的阻挡,有些软件还提供了针对特定网站提交假来源地址的功能(反防盗链) 。
【前端js中http跳转https报403错误,请求头referer详解】
推荐阅读
- 2月10日起境外中国公民换领驾照可“委托办”
- 招聘网站哪个比较好,中国十大招聘网站
- 钓鱼|天选打工人不少,天选钓鱼人更多,其中原因你知道吗?
- 狂飙|《狂飙》中藏了4位星二代,王骁没让人失望,吴刚儿子演技最拉胯
- 红色警戒地图包怎么导入__下载的红警地图包怎么导入游戏中
- 农业银行信用卡中心申请进度查询!农行信用卡中心电话?
- 国湘资本官网登录!谁知道《中国通史》纪录片在哪里能下到?要比较全一点的?
- 雷霆沙赞!众神之怒|DC新片《雷霆沙赞!众神之怒》中国内地定档 将于3月17日上映
- 1780年中国发生了什么灾难?“1780年大飓风”居民们遭受灾难的情景是什么样的?
- 高中学生怎么样可以赚钱,高中生正规赚钱方法