JavaScript学习笔记:Web安全模型

为了保证安全,浏览器中的JavaScript不能读写设备中的文件,也不能访问任意的服务器。

同源策略

同源策略指的是脚本只能访问与包含它的文档同源资源。
源是指文档URL中的协议、主机与端口部分,完全相同则是同源,任意一项不同都不是同源。
脚本文件的URL与同源策略毫不相干,同源策略至于脚本的包含文档的URL有关。
同源有以下应用:

  • 脚本只能获取与其包含文档同源的iframe内嵌文档的Window与Document对象。
  • 每个file://协议的URL都是一个独立的源,无法在本地进行同源测试
  • 脚本发起的HTTP请求也会应用同源策略。JavaScript可以发起与文档同源的请求,但是默认情况下不能访问其他服务器,除非该服务器开启了CORS。

修改脚本的源

通过为document.domian设置一个域名后缀来来修改文档的源,但是这不是说可以任意设置,该域名后缀只能是文档当前域名的上级域名。
比如当前是a.b.c.com,只能改为b.c.com或c.com。

跨源资源共享(cross-OriginResource Sharing, CORS)

CORS允许服务器决定对来自哪些源的请求提供服务。
CORS扩展了HTTP协议,增加了一个Origin:请求头和一个Access-Control-Allow-Origin响应头。
服务器可以使用这个头部明确地列出对那些源提供服务,或使用通配符来表示接受任何源的请求。
浏览器会根据这些CORS头部的有无来决定是否放松同源限制。

跨站点脚本 (Cross-Site Scripting,XSS)

XSS是一种攻击方式,指攻击者向目标网站注入HTML标签或脚本。
CSRF攻击是基于XSS攻击实现的。

posted @ 2023-06-10 23:25  钰琪  阅读(7)  评论(0编辑  收藏  举报