【问题标题】:Is there any way to block users from accessing WebRTC connection?有什么方法可以阻止用户访问 WebRTC 连接吗?
【发布时间】:2022-12-09 20:51:37
【问题描述】:

我想知道是否有任何方法可以阻止窗帘用户连接到特定设备(使用设备的 ip 地址),而无需先创建数据通道,然后查看用户是否在黑名单中。

我尝试并成功地通过为每个用户附加一个 id,将其发送到主机然后检查用户是否被阻止来制作黑名单,在这种情况下 WebRTC 信号将被终止,但我希望有一个不同的解决方案,因为我是对一些可能的攻击敞开心扉。

提前致谢!

【问题讨论】:

  • 不清楚是要根据ip地址做黑名单还是有第三方的方式给用户授权。另外,你有一个全局黑名单还是每个用户(被阻止的用户应该被阻止完全或只与特定用户建立任何连接)?
  • 首先,我可以同时拥有 ip 地址或带有 firebase 后端的用户 ID。黑名单是每个用户
  • WebRTC 是一种直接的点对点通信协议/技术。因此,只要建立了连接,您就无法控制它。但是你可以根据你使用的技术在你的信令后端做你需要的事情。
  • ICE candidates 包含 IP 地址,如果在其中找到特定 IP,您可以中止连接,这应该在连接建立之前发生。

标签: javascript webrtc


【解决方案1】:

为了建立点对点的 WebRTC 连接,您首先需要通过一些信令通道进行提议/回答交换。这是做出授权决定的正确时间:如果对等方未被授权访问媒体流,那么它一开始就不应该收到提议或答复。

这是安全的原因是 WebRTC 媒体是加密的,并且提供和回答包含解密流所必需的数据。没有提议或回答,没有加密密钥,因此无法访问流。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-24
    • 1970-01-01
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    相关资源
    最近更新 更多