我有一个正在使用 SignalR 开发的聊天应用程序。在聊天中用户发送一条消息,现在我想让它安全,这样用户就不能发送 javascript 或类似的东西。我应该注意什么(即剥离标签)?聊天不会进入数据库,它只是将消息从一个用户的文本区域中继到连接的其他用户的浏览器。
问问题
62 次
1 回答
2
基本上你想防范 XSS - 请参阅此处https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#Escaping_.28aka_Output_Encoding.29在“转义(又名输出编码)”下。
在源中输入的任何字符在输出到目标浏览器时都应进行 HTML 编码。这会将像<script>
HTML 这样的序列转换为显示,例如
<script>
就我个人而言,我不会打扰剥离标签,我相信输出清理是要走的路,因为这是安全的,并且可以让用户不受限制地进行最大程度的交流(如果用户想向某人发送一段代码和您的应用程序正在剥离所有 HTML 标记?)。
于 2012-08-03T07:55:39.550 回答