以下引用自RFC6455-WebSocket协议。
不打算处理任何网页输入而仅用于某些站点的服务器应验证| Origin |。字段是他们期望的起源。如果指示的来源是服务器不可接受的,则它应使用包含HTTP 403 Forbidden状态代码的答复来响应WebSocket握手。
|来源| 当非受信方通常是在受信客户端的上下文中执行的JavaScript应用程序的作者时,标头字段可防止遭受攻击。客户端本身可以通过| Origin |机制 与服务器联系。标头字段,确定是否将这些通信 特权扩展到JavaScript应用程序。目的不是要阻止非浏览器建立连接,而是要确保在潜在恶意JavaScript的控制下,受信任的浏览器不能伪造WebSocket握手。
我只是不确定第二段的含义,尤其是斜体部分。有人可以解释一下吗?也许是一个例子。
到目前为止,我的理解是这样的:
如果服务器可以肯定的是请求确实来自网络页面,起源头可用于防止未欢迎访问的Web页面。
如果服务器不能确保请求来自网络页面,起源头仅仅是咨询。
您的理解似乎是正确的,但是..
我会改写它-您可以确定,javascript客户端将发送正确的Origin标头。您不知道其他客户端将发送什么(值是否正确)。
这应该可以防止其他页面连接到“您的” Web套接字端点(这很重要,请想象在jsfiddle或某些经常访问的页面上注入了javascript),但是如果您需要确保没有其他客户端可以连接为此,您需要引入其他一些安全措施。
我认为这仅是为了防止基于浏览器的“数据窃取”或“ DDoSing”,仅此而已;您仍然可以使用其他客户端来执行此操作。
| 归档时间: |
|
| 查看次数: |
3783 次 |
| 最近记录: |