gpt4 book ai didi

javascript - 如何防止从控制台对 SignalR 聊天进行 jQuery 调用?

转载 作者:行者123 更新时间:2023-11-27 23:46:12 25 4
gpt4 key购买 nike

我有一个用于学校项目的 SignalR 聊天网站(也使用 C#)。从理论上讲,它适用于受信任的用户,但正如每个人都会证明的那样 - 永远不要相信您的用户。当我将链接发送给我的几个 friend 时,他们立即试图破坏它,哈哈,这一点向我证明了。

我现在已经正确清理了所有输入,但他们仍然可以做的一件事是使用浏览器控制台工具手动调用发送消息等所需的函数。

示例:$.connection.chatHub.server.sendMessageToAll('FakeUser','FakeMsg',0);

我想阻止此类行为。我记得不久前 Facebook 实际上出于“安全”目的禁用了控制台窗口。我什至找到了several{1} resources{2} ,其中详细说明了这是如何完成的,并尝试在 Chrome 拥有 fixed 后进一步阻止控制台使用。这个。

但是,这些选项都不再起作用,并且由于浏览器不断变化,我不想尝试在这个级别进行阻止。

我想知道 Stack 上是否有人知道防止此类攻击的更好方法?有没有好的方法来检查调用来自哪里? SignalR 有没有好的方法来防止这种情况?想法/讨论肯定会受到欢迎。

最佳答案

尝试像这样锁定客户端可能可以很好地防止非技术用户干扰您的应用程序,但对于知识渊博且足智多谋的对手来说,它几乎没有任何作用。此类安全措施有意义的情况相当有限,当然不包括任何人都可以通过互联网访问的应用程序。

唯一安全的方法是众所周知且非常简单:服务器不信任客户端的任何事情。那么客户端尝试做什么并不重要,因为服务器将拒绝所有它认为无效的操作。

在您的示例中,服务器将为每个 session 分配一个随机的不透明连接 ID。如果客户端发送了有效的 ID 作为请求的一部分,则客户端只能说服服务器执行任何操作;然后,服务器不需要信任客户端的用户名,因为它已经知道每个用户从哪个连接登录,并且可以在给定 ID 时生成用户名。

关于javascript - 如何防止从控制台对 SignalR 聊天进行 jQuery 调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33156555/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com