Ste*_*ase 5 html javascript security http
我想限制在我的网站上执行Javascript以防止在浏览器中执行恶意代码.假设,我的HTML网站可以通过URI访问http://a.com/
,我想确保http://a.com/script.js
浏览器只执行脚本.浏览器不应该:
<script>
标记在HTML代码中引用的有没有办法实现这一点?谷歌并没有真正帮助我.
我首选的解决方案是通过HTTP标头,类似于跨源资源共享,但我也很高兴其他建议.
与上述评论相反,这是一个有效的问题.该漏洞是跨站点脚本(XSS),并且只要站点允许用户上载内容,它就可能出现.甚至,例如,评论:)
防止XSS的传统方法是清理所有用户提供的输入,但这可能是单调乏味且容易出错的.旨在阻止XSS的HTTP标头是内容安全策略.严格依赖CSP进行XSS保护的主要问题是Internet Explorer(甚至版本11)不支持任何版本的CSP标头(除非自上次检查以来发生了变化).
因此,对于今天而言,如果可以的话,CSP是在您的服务器上启用的一个好习惯,但您仍然需要清理输入以处理IE用户(或具有真正旧浏览器的用户).另外,请记住,CSP(在最严格的实现中)将阻止您自己的网站代码执行嵌入式JavaScript.建议的做法是首先在"仅警告"模式下启用CSP并检查您的日志,以确保您不会在脚下拍摄自己.