以下引用自 RFC6455 - WebSocket 协议。
不打算处理来自任何网页的输入但
仅对于某些站点应验证 |Origin|场是原点
他们期望。如果服务器不接受指示的来源,
那么它应该用回复来响应 WebSocket 握手
包含 HTTP 403 Forbidden 状态代码。
|起源|标头字段可防止攻击情况
不受信任的一方通常是 JavaScript 应用程序的作者
它在可信客户端的上下文中执行。客户端
本身可以联系服务器,并且,通过 |Origin| 的机制
头字段,确定是否扩展那些通信
JavaScript 应用程序的权限。目的不是为了阻止
非浏览器建立连接而是确保
受潜在恶意 JavaScript 控制的可信浏览器
无法伪造 WebSocket 握手。
我只是不确定第二段的意思,尤其是italic部分。有人可以解释一下吗?或者也许是一个例子。
到目前为止我的理解是这样的:
你的理解似乎是正确的,但是..
我会重新表述 - 你可以确定,javascript 客户端将发送正确的原始标头。您不知道其他客户端将发送什么(以及该值是否正确)。
这应该可以防止其他页面连接到“您的”Web 套接字端点(这是一件大事,想象一下在 jsfiddle 或某些经常访问的页面上的某处注入了 javascript),但是如果您需要确保没有其他客户端能够连接为此,您需要引入一些其他安全措施。
我相信这只是为了防止基于浏览器的“数据窃取”或“DDoSing”,仅此而已;您仍然可以通过使用其他客户端来做到这一点。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)