【发布时间】:2019-04-19 16:17:05
【问题描述】:
有什么方法可以删除 .net 中给定字符串中的所有 html 属性?
输入:
Hello onclick="alert(1)" onfocus="alert(2_" onblur="haihu(84384)" World
输出:
Hello World
【问题讨论】:
-
这里的 HTML 是什么?
-
我在您的示例中看不到任何 html 属性
-
一开始就不要使用内联事件处理程序。 ;) 说真的,尝试使用正则表达式来检测
="..."分隔属性并删除它检测到的所有内容以及它前面的所有内容,直到您点击前一个空格,因为属性之间至少需要一个空格。其他选项是从字符串实际创建一个 HTML 元素并使用 Element 方法删除所有属性。 -
我认为上述评论者想说的是我们需要看看这是从哪里来的。没有 HTML 字符串会包含 Hello,然后是一堆参数,然后是 World。你能给我们你要传递的完整的 HTML 字符串吗?
-
最好试着解释你想要达到的目标。您是否正在保存用户在网页中输入的字符串并试图保护其他用户免受 javascript 注入?那么 HTML 转义是更简单的解决方案。