擅长:python、mysql、java
<p>关注原始HTML是正确的,但不只是针对禁用Javascript的浏览器。在考虑服务器的安全性时,必须忽略在浏览器中所做的任何工作,而只关注服务器接受的内容和发生的情况。您的服务器接受HTML并将其显示在页面上。这不安全。</p>
<p>TinyMce引用HTML的事实是一种错误的安全性:服务器信任它接受的内容,而不信任它不应该接受的内容。</p>
<p>解决方法是在HTML到达时处理它,删除危险的结构。这是一个需要解决的复杂问题。查看<a href="http://ha.ckers.org/xss.html" rel="nofollow noreferrer">XSS Cheat Sheet</a>以查看可能导致问题的各种输入。</p>
<p>lxml有一个清理HTML:<a href="http://lxml.de/lxmlhtml.html#cleaning-up-html" rel="nofollow noreferrer">http://lxml.de/lxmlhtml.html#cleaning-up-html</a>的函数,但我从未使用过它,所以我不能保证它的质量。</p>