有没有办法在JavaScript中冻结 document.body.innerHTML ,以便攻击者无法执行以下操作:
<script>document.body.innerHTML = document.body.innerHTML.replace("http://www.example.com/" , "http://abc.org" ); </script>
还有如何冻结document.location?谢谢!
答案 0 :(得分:2)
不,你不能从javascript锁定DOM元素的内容。我怀疑你在这里问错了。你可能需要做的就是插入攻击者用来运行代码的任何漏洞。
这些将是一个很好的起点。
答案 1 :(得分:1)
不,没有办法“冻结”它。您可以通过不在页面上包含第三方脚本来防止这种情况。
答案 2 :(得分:0)
不是用JavaScript。这根本不可能。你的代码应该如何比其他任何代码更独特?
简单的解决方案是编写一个不受XSS欢迎的安全页面。解析来自外部的所有内容,您的页面将是安全的。
您还可以尝试阻止您的网站加载到X-Frame-Options
标头的框架中。您可以使用包含以下内容的.htaccess文件来实现:
<IfModule mod_headers.c>
# Secure frame optione
Header always append X-Frame-Options SAMEORIGIN
</IfModule>