繁体   English   中英

从页面中删除所有JavaScript

[英]Remove all javascript from page

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

我强烈建议您不要使用正则表达式(不能使用正则表达式解析HTML),并考虑使用类似HTMLAgilityPack的方法。

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

替代方法是转义所有HTML输入,然后手动解析您感兴趣的特定标签。

<b>Hello</b>

成为

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM