从页面中删除所有javascript

Remove all javascript from page

本文关键字:javascript 删除      更新时间:2023-09-26

我有一个带有控件的网页,用于呈现用户的HTML标记。我想删除所有JS调用(我想还有CSS),以防止用户注入恶意软件代码。用其他处理程序替换所有script标记和所有onclick似乎不是一个好主意,所以questin是.Net世界中这个XSS问题的最佳解决方案。

我强烈建议不要走regex路线(你不能用regex解析HTML),而是考虑像HTMLAgilityPack这样的东西。

这将允许您删除所有脚本元素,以及从元素中删除所有事件处理程序,无论它们是如何设置的。

另一种选择是转义所有HTML输入,然后手动解析您感兴趣的特定标签

<b>Hello</b>

成为

&lt;b&gt;Hello&lt;/&gt;

然后,您可以匹配&lt;(b|i|u|p|em|othertagsgohere)&gt;(.+?)&lt;/$1&gt;,这样它将只匹配上面没有您感兴趣的类型和属性的标签。但最终我认为HTMLAgitiyPack路由是更好的。

相关文章: