不允许跨域调用JS的最佳实践

admin2年前主机评测18

摘要:本文将介绍不允许跨域调用JS的最佳实践解释为什么需要这些实践并提供更多背景信息。本文将从四个方面详细阐述这些最佳实践并提供相关的证据和观点。最后我们将总结文章的主要观点和结论并提出未来的研究方向。

图片:

一、跨域调用JS的危害

跨域调用JS指的是在一个域名下的网页中调用来自其他域名的JS脚本。这种跨域请求可能打开一些安全漏洞例如XSS攻击和CSRF攻击。XSS 跨站脚本攻击是一种攻击方式黑客可以通过一个可注入恶意JavaScript代码的表单或URL欺骗用户去执行该代码收集用户敏感信息并发送出去例如用户cookie从而使黑客可以全权控制访问该网站的session。CSRF 跨站点请求伪造是一种攻击技术黑客可以利用已登录的用户来执行某些恶意功能而用户并不知情。例如黑客可以通过用户的登录凭证欺骗服务器在用户不知情的情况下发起恶意请求。

要避免这种危害最好的方法是禁止在网页中允许跨域调用JS。

二、使用CORS

一种应对这个问题的方式是使用CORS 跨源资源共享。CORS允许服务器授予HTML页面使用不同域上的资源的权限。要使用CORS服务器必须设定HTTP响应头如下:

Access-Control-Allow-Origin: *

这允许来自任何网站的JS调用服务器上的资源但在生产环境中最好将*更改为来自完全合法的域名列表。

在将JS脚本放在不同域名的服务器上时对于支持CORS的服务器应该启用CORS以便允许其他域名下的页面调用JS。这是最好的选择因为它保留了跨域请求的安全性。

三、使用JSONP技术

JSONP是一种使用