浏览器安全

    2015年10月15日 doc test 字数:799

http://segmentfault.com/a/1190000003852910?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io

https://blog.wilddog.com/?p=210

一、什么是源

经常听到跨域,同源这样的概念。那这个源确切指的是什么呢

  • 相同的HOST
  • 相同的协议
  • 相同的端口

举例如下: https://www.baidu.comhttp://www.baidu.com非同源,因为协议不同。 http://baidu.comhttp://www.baidu.com非同源,因为域名不同。 http://baidu.comhttp://baidu.com:8080非同源,因为端口不同。

二、同源策略

同源策略限制了一个源(origin)中加载文本或脚本与来自其它源(origin)中资源的交互方式。简单的说就是一个源的页面上的js只能访问当前源的资源,不能访问其他源的资源。那么资源是什么呢?

曾经就掉进理解误区里,http://bawugonggonghoutai.sinaapp.com/listUserLog?word=%C6%BD%B6%A5%C9%BD%D1%A7%D4%BA 比如说这样一个页面,发现他加载了贴吧域名下的js和css,起初想不明白,看完下面的就明白了。

  • DOM
  • 通过ajax请求的网络资源
  • cookie
  • webstorage, websql

同源策略是浏览器安全策略的基础,但同源策略面对很多攻击是无能为力,比如XSS。

三、XSS

xss - 跨站脚本攻击 xss攻击方式:

  • client - 客户端型
  • server - 服务端型

无论是服务端型还是客户端型xss,攻击达成需要两个条件

  • 代码被注入
  • 代码被执行

宗旨:任何时候都不要把不受信任的数据直接插入到dom中的任何位置,一定要做转义。

待补充各类案例

四、https协议