[英]Remove all javascript from page
我有一个带有控件的网页,用于呈现用户的HTML标记。 我想删除所有JS调用(我想是CSS),以防止用户注入恶意软件代码。 用其他处理程序替换所有script
标签和所有onclick
似乎不是一个好主意,因此questin是有关.Net世界中此XSS问题的最佳解决方案。
我强烈建议您不要使用正则表达式(不能使用正则表达式解析HTML),并考虑使用类似HTMLAgilityPack的方法。
这将允许您删除所有脚本元素,以及从元素中删除所有事件处理程序,无论它们如何设置。
替代方法是转义所有HTML输入,然后手动解析您感兴趣的特定标签。
<b>Hello</b>
成为
<b>Hello</>
然后您可以匹配<(b|i|u|p|em|othertagsgohere)>(.+?)</$1>
因此它只会匹配您感兴趣的类型上没有属性的标签。 但最终我认为HTMLAgiltiyPack路由是更好的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.