将文本发送到另一个客户端浏览器有哪些漏洞?

时间:2012-08-02 17:06:55

标签: c# asp.net security

我正在使用SignalR开发一个聊天应用程序。在聊天中,用户发送消息,现在我想让它安全,以便用户无法发送javascript或类似的东西。我应该注意哪些事项(即剥离标签)?聊天不会进入数据库,只是将消息从一个用户的文本区域转发到连接的其他用户的浏览器。

1 个答案:

答案 0 :(得分:2)

基本上你想要防范XSS - 请参阅“逃离(又称输出编码)”下的https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#Escaping_.28aka_Output_Encoding.29

在输出到目标浏览器时,在源处输入的任何字符都应该是HTML编码的。这会将<script>等序列转换为HTML以供显示,例如

&lt;script&gt;

就个人而言,我不打算剥离标签,我相信输出清理是可行的方法,因为这是安全的,并且允许用户最自由地进行无限制通信(如果用户想要向某人发送片段,会发生什么?代码和你的应用程序正在剥离所有的HTML标签?)。