实施SSE(服务器发送事件)安全性

时间:2017-11-06 06:54:51

标签: server-sent-events

我对SSE不熟悉 - 服务器发送事件实现。

我要做的是:在连接到SSE网址之前保持安全检查 对于ex-我有一个SSE URL,客户端将通过EventSource连接到它:

   new EventSource("http://my.example.com/deviceData");

因此,并非每个客户端都能够连接到它。我必须限制它给一些客户。我怎么能这样做?

代码示例非常有用。

1 个答案:

答案 0 :(得分:0)

如果限制是通过IP进行的,那么您的服务器端脚本可以查看标头并根据该标头拒绝。 (它也可以基于任何其他标题拒绝,但大多数标题可以伪造,例如用户代理。)

如果您使用登录后,则应使用Cookie。最简单的方法是在my.example.com上有一个验证用户的登录表单,然后发回一个cookie。然后,该cookie将被发送到您的SSE脚本,该脚本可以使用其内容来验证用户。 (如果使用此方法,您可能还想使用https URL:确保登录表单和SSE脚本都在https上,在这种情况下。)