介绍
当我发布它时,一个错误是由Referer引起的,所以我想把它作为Referer是什么的备忘录。
请指出任何奇怪的地方。
什么是推荐人
Referer 是一个 HTTP 标头,它指向从 Internet 上的单个网页或资源查看时链接到它的网页或资源的地址。
通过引用Referer,可以知道请求从哪里来的页面。简而言之,它是有关您在当前 URL 之前所在位置的信息。
获取推荐人
尝试获取Referer。
在谷歌首页搜索Qiita,进入Qiita网页。
在这个流程中,由于 google 的页面已经过渡到 Qiita 的页面,所以 google 的 URL 将包含在 Referer 信息中。
让我们检查。
推荐人信息可以如下检查。
打开开发者工具。
要打开开发者工具,Windows 使用 F12 键,MacOS 使用 Command + Option + I 键。
您也可以通过右键单击并单击“检查”来打开它。选择网络并选择顶部的 HTML 文件。 (如果没有显示则重新加载)
检查请求标头
您可以通过单击 HTML 文件查看有关此页面的各种信息。
HTTP header 中存在Referer,所以选择Headers。标题大致分为三种:
- 常规
- 描述请求的 URL 和方法、HTTP 状态、IP 地址和引用策略。请求和响应通用。
- 响应标头
- 包含有关响应的附加信息,例如位置和服务服务器信息。
- 请求标头
- 拥有有关要加载的资源和请求该资源的客户端的详细信息。
引用者列在请求标头中。
由于这次是从 google 访问,因此 Referer 包含 google 的 URL,它是转换源。但是,也有不存在Referer信息的情况。
没有推荐人
这种情况发生在最开始不存在referrer时,例如启动后立即显示的第一页,或者从书签或收藏夹中打开时,或者如果浏览器没有声明referrer的功能,则referrer可以是在浏览器设置中声明。在指定拒绝时发生
在没有referer的情况下,Referer不存在。
错误发生状态
这一次,它被设计为在点击主页上的横幅(由另一家公司创建)时转换到公司产品的 URL。
我们的产品在 AWS 环境下运行。
作为一项安全措施,WAF 被设置为只允许Referer 的主页URL。
换句话说,它被设计成除非您点击主页上的横幅,否则您无法访问公司的产品。
请阅读以下文章,因为它很容易理解 WAF 的引用限制。
生产环境出现的问题
尽管点击了横幅,但屏幕仍然是白色的。
原因
经过调查,发现原因是Referer。
当我点击横幅时,我的产品应用程序的引用是我的产品的 URL,而不是主页的 URL。
因此,虽然初始转换是可能的,但它被 WAF 拒绝,并且 DOM 树中没有调用 javascript。解决方案
我将我公司产品的 URL 添加到 WAF 的引用中,它已解决。
综上所述
到现在为止,我已经为每种类型的工程师学习了各种知识,例如前端、后端和基础设施。
最近有机会在中间的网络部分工作,很开心,每天都有新的发现。
我们将继续学习!参考
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308623717.html