我有一个字符串,其中包含有效的html标记,如<table>
或<br/>
,并显示在包含数据库的工具提示中。安全团队认为这是一个关键问题,因为这可能会允许来自用户的xss攻击,它会插入一个<script> alert(...)
c#编码字符串以防止XSS注入(RegEx ??)
在网络上的任何地方,我被告知要使用HttpUtility.HtmlEncode()
。问题是这也是编码我的有效标签。
我在找什么,我找不到是RegEx,它允许我过滤xss注入而不剥离我有效的html标签。
是否有这样的事情存在?
您需要在_before_页面的_data_部分上使用'HtmlEncode'来组装输出字符串。尝试着明确输出的哪些部分是格式化的,哪些部分来自数据库,但事实并不顺利。 – HABO
用户提供的文本是否为html?或者你用html包装用户文本? – dman2306
我们通常禁止用户输入HTML。如果我们需要给用户输入格式化指令的能力,那么我们将把MarkDown处理器连接到特定的字段。 –