# 浏览器安全
# 同源策略
# 同源的定义
如果两个URL的protocol、port和host都相同,则这两个URL是同源的
# 跨源网络访问
- 跨域写操作。一般是被允许的,例如链接、重定向,以及表单提交。有时需要先发起OPTIONS请求进行预检。
- 跨域资源嵌入。一般被允许,比如使用script、img标签加载资源
- 跨域读操作。一般不被允许,但可以通过跨域内嵌资源间接对资源进行读操作。
# 浏览器沙箱
浏览器采用多进程架构,将浏览器的各个功能模块分开,各个浏览器实例分开,当一个进程崩溃时,不会影响到其他进程。
以Chrome为例,主要进程分为:浏览器进程、渲染进程、插件进程、扩展进程。插件进程如flash、pdf等与浏览器进程严格隔离,不会互相影响。渲染引擎由沙箱隔离,网页代码要与浏览器内核进行通信、与操作系统通信都要通过IPC channel,其中会进行安全检查。
# 恶意网址拦截
浏览器会周期性从服务器端获取恶意网址黑名单,当用户访问该网址时会提出警告。