Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何防止控制台对我的SignalR聊天进行jQuery调用?_Javascript_C#_Jquery_Signalr_Chat - Fatal编程技术网

Javascript 如何防止控制台对我的SignalR聊天进行jQuery调用?

Javascript 如何防止控制台对我的SignalR聊天进行jQuery调用?,javascript,c#,jquery,signalr,chat,Javascript,C#,Jquery,Signalr,Chat,我有一个信号员聊天网站,是为一个学校项目设计的(也使用C#)。从理论上讲,这是为了值得信任的用户,但每个人都会证明——永远不要信任你的用户。当我把这个链接发送给我的几个朋友时,他们立即试图破坏它,哈哈 我现在已经正确地清理了所有输入,但他们仍然能够做的一件事是使用浏览器控制台工具手动调用发送消息所需的函数,等等 示例:$.connection.chatHub.server.sendMessageToAll('FakeUser','FakeMsg',0) 我想阻止这类行为。我记得一段时间前,Fac

我有一个信号员聊天网站,是为一个学校项目设计的(也使用C#)。从理论上讲,这是为了值得信任的用户,但每个人都会证明——永远不要信任你的用户。当我把这个链接发送给我的几个朋友时,他们立即试图破坏它,哈哈

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

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

我想阻止这类行为。我记得一段时间前,Facebook实际上出于“安全”目的禁用了控制台窗口。我甚至发现了,其中详细说明了如何做到这一点,并试图进一步防止在Chrome上使用控制台

然而,这些选项都不起作用了,而且由于浏览器不断变化,我不想尝试在这个级别进行阻止


我想知道堆栈中是否有人知道防止此类攻击的更好方法?有没有一个好办法来检查电话是从哪里打来的?信号员是否有一个很好的方法来防止这种情况?想法/讨论当然是受欢迎的。

像这样试图锁定客户可能会很好地防止非技术用户干扰你的应用程序,但对于一个知识渊博、足智多谋的对手来说,这几乎毫无用处。这种安全措施有意义的情况相当有限,当然不包括任何可从互联网访问的应用程序

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


在您的示例中,服务器将为每个会话分配一个随机不透明连接id。客户机只有在发送有效id作为请求的一部分时才能说服服务器做任何事情;然后,服务器将不需要信任客户端的用户名,因为它已经知道每个用户登录的连接,并且可以在给定id时生成用户名。

使用ASP.NET安全性并从当前主体获取用户名