存储HTML时避免XSS攻击

| 我的网站存储由用户生成的HTML。然后,当然将这些数据呈现在网页上。呈现HTML并避免XSS攻击的最佳实践是什么?剥离
<script>
<iframe>
标签是否足够?这会涵盖所有浏览器吗?我听说过旧的浏览器从怪异的编码中呈现HTML ...我该如何处理? 我想要一个笼统的答案,与任何语言或技术都没有关系。     
已邀请:
        您可以使用Jsoup之类的库,尤其是白名单清理程序来阻止XSS。 总的来说,我认为使用白名单而不是过滤列入黑名单的标签是一种更好/更安全的方法。此外,首先应避免使用HTML。相反,应该使用一些简单的标记,例如markdown。     
        我可以向您保证,没有办法安全地完成您要问的事情。狡猾的黑客将始终能够利用允许用户发送任意html的系统,即使通过剥离某些标签进行清理也是如此。这就是为什么存在诸如markdown和BBcode之类的工具的原因。为什么看,即使StackOverflow也使用类似的东西。 您正在考虑走的路上到处都是10,000个被利用的网站。     
        您会迷路于何时允许您的用户在您的页面上设置HTML,例如onmouseover \“ myEvilJS \”或     
        最低您必须转换此符号。 &->&amp; <->&lt; >->&gt; “->&quot; ‘->&#x27; /->&#x2F;     

要回复问题请先登录注册