如果我要创建一个网站,用户可以在其中将任意 html 放入他们的“配置文件”或类似的东西中,我该如何阻止嵌入在该 html 中的 JavaScript 运行?
我可以在某处放置一个无限循环 for(;;);
吗?如果是这样,我应该把它放在哪里?
还有哪些其他安全问题与此方法相关?
最佳答案
嗯,无限循环只会挂起浏览器。
对于 PHP,我推荐 HTML Purifier通过只让好东西进入来阻止邪恶的 HTML :)
Python HTML Sanitizer对于 Python 来说似乎也是一个不错的选择,尽管我还没有机会尝试它。 This StackOverflow question使用 BeautifulSoup 提供一些简单的 HTML 清理器解决方案,但一定要小心第一个答案 - 看起来它没有属性白名单,这对于安全代码也很重要。
关于javascript - 在用户提交的 html 中禁用 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3190289/