检测HTML中的javascript

检测HTML中的javascript,javascript,html,validation,Javascript,Html,Validation,我有两个应用程序,用户可以提交HTML页面。我想确保HTML中不包含任何脚本。 通常情况下,为了摆脱脚本,您会避开内容,但由于这是HTML,我不能这样做。有人对如何做到这一点有好的建议吗?应用程序是用C#和Java编写的,我要做的第一件事是查看HTML中是否有标记。这解决了第一个问题,然后您必须确保没有内联onmouseover/onclick等事件。您可以使用DOM解析器检查所有元素并删除所有以“on”开头的属性 我对C#和Java都没有什么经验,所以我不知道在这个领域已经有了什么“更简单”的

我有两个应用程序,用户可以提交HTML页面。我想确保HTML中不包含任何脚本。
通常情况下,为了摆脱脚本,您会避开内容,但由于这是HTML,我不能这样做。有人对如何做到这一点有好的建议吗?应用程序是用C#和Java编写的,我要做的第一件事是查看HTML中是否有
标记。这解决了第一个问题,然后您必须确保没有内联onmouseover/onclick等事件。您可以使用DOM解析器检查所有元素并删除所有以“on”开头的属性


我对C#和Java都没有什么经验,所以我不知道在这个领域已经有了什么“更简单”的解决方案。但也许这里的其他人对此有更好的想法。

OWASP有一个更好的方法来清理html和css

通常,决定允许什么比试图删除不允许的内容要安全得多。@sje397我觉得他不想允许任何javascript。你仍然需要“删除”你不允许的东西,对吗?如果你真的想允许使用一些javascript,还有其他安全风险(比如获取document.cookie并将其发送到远程位置..会话劫持,位置重定向等)。是的,我也有这样的印象。但我认为在服务器端,您可以解析HTML,并且只允许元素类型和白名单中相应的属性。列出允许的事情比试图涵盖所有你想排除的事情要容易得多。啊,那么我误解了你的第一个评论。我同意这一点,这是最好的办法。是的,这都是事实。但问题是javascript可能有许多不同的风格。有许多不使用标记插入Java脚本的方法。这是很多很好的例子:这看起来很有趣,大家来看看吧。