【问题标题】:What are the vulnerabilities for sending text to another Client's browser?向其他客户端的浏览器发送文本有哪些漏洞?
【发布时间】:2012-08-02 17:06:54
【问题描述】:

我有一个正在使用 SignalR 开发的聊天应用程序。在聊天中用户发送一条消息,现在我想让它安全,这样用户就不能发送 javascript 或类似的东西。我应该注意什么(即剥离标签)?聊天不会进入数据库,它只是将消息从一个用户的文本区域中继到连接的其他用户的浏览器。

【问题讨论】:

    标签: c# asp.net security


    【解决方案1】:

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

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

    <script>
    

    就我个人而言,我不会打扰剥离标签,我相信输出清理是要走的路,因为这是安全的,并且可以让用户不受限制地进行交流(如果用户想向某人发送 sn 会发生什么) -p 代码并且您的应用程序正在剥离所有 HTML 标记?)。

    【讨论】:

    • 不错的答案!我想知道您是否可以向我推荐一个输出清理的示例,谢谢!
    • 你不说你用的是WebForms还是MVC?但无论哪种方式,看看 Server.HTMLEncode 方法,它将执行您在msdn.microsoft.com/en-us/library/w3te6wfz.aspx 之后的操作……使用 MVC,可以通过<%: myString %>(而不是<%= myString %>)访问此方法的快捷方式。任何输出到浏览器的文本都应该以这种方式编码。
    猜你喜欢
    • 2021-03-01
    • 1970-01-01
    • 2015-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    相关资源
    最近更新 更多