Web信息安全实践_4.2 SOP( 同源策略,same origin policy )

源(origin): <protocol, domain, port>

  • Protocol: http://, file://, ftp://
  • Domain: microsoft.com, google.com
  • Port: 80, 8080, 21, 3128, etc
 
(1)SOP 使用网站的源信息识别每个网站
(2)为每个源创建上下文, 资源存储在上下文中
(3)对每个源隔离,不同源客户端脚本在没有明确授权情况下,不能读写对方的资源
 

SOP功能

➢ 保护 cookie:cookie只会被提交给产生它的源 
➢ 防止 JavaScript 访问 iframe 中的其他源的内容
SOP限制以下情形: 攻击者要访问www.myzoo.com的cookie,在攻击者页面创建iframe,将www.myzoo.com的页面放在iframe中,该iframe是攻击者页面的一部分,如果用户在未登出情况下访问了攻击者页面,那么用户的cookie会包含在iframe页面中,攻击者可使用js代码,通过iframe访问www.myzoo.com的cookie
➢ 防止 Ajax 跨域请求
➢ ….

安全和应用(跨域的需求)的折中: CORS

在 HTTP Header 中加入相应的头部
  • Access-Control-Allow-Origin
  • Access-Control-Request-Method
  • Access-Control-Allow-Headers
  • Access-Control-Allow-Credential:默认情况下Ajax跨越时不携带cookie。该头部要求Ajax携带cookie,同时要求在接收方设置允许接收Ajax携带的cookie
  • …..
<?php
    header("Access-Control-Allow-Origin:*");
    $myfile = fopen("test.txt","w") ;
    fwrite($myfile,$_GET["cookie"]);
    fclose($myfile);
?>

猜你喜欢

转载自www.cnblogs.com/tianjiazhen/p/12235890.html
SOP