zoukankan      html  css  js  c++  java
  • CORS(跨域资源共享)的防御机制

    一、为什么会出现CORS:

      浏览器的同源策略给WEB开发人员带来了巨大的痛苦,信息的交互共享本来就是网络的意义。所以妥协之后出现了CORS。

    二、技术原理:

    1、简单跨域:

    (1)方法要求:只能是GET、POST、HEAD方法。

    (2)头部要求:只能有四个字段Accept、Accept-Language、Content-Language、Last-Event-ID;如果设置了Content-Type只能是application/x-www-form-urlencoded,multipart/form-data,text/plain三者之一。

    (3)不满足上述条件约束的时候,会要求浏览器(客户端)先验证一个OPTIONS方法的报文,携带验证的头部字段,Access-Control-Request-Method和Access-Control-Request-Headers当得到服务器认可的resposne报文后则可以继续执行,认可字段:Access-Control-Allow-Origin、Access-Control-Allow-Methods、Allow-Control-Allow-Headers来表达认可的细则。

    #此外还有:

    Allow-Control-Max-Age(时间范围)、Allow-Control-Allow-Credentials(是否允许验证信息)、Allow-Control-Expose-Headers(是否允许脚本访问头)----XMLHttpRequest问题解决。参考本博客第一篇文章。

    三、问题:

    如果origin哪个头设置为*则只能依靠最后一层安全机制了:

    Allow-Control-Allow-Credentials这个字段,XMLHttpRequest访问时跨域的,又带着cookie,这是不合法的,如果这个限制也没有了,基本上形同裸奔了。

    ###HTML5中会有进一步安全影响。

  • 相关阅读:
    C# Graphics类详解
    c#画直线
    c#画直线
    基础练习 数列特征
    基础练习 数列特征
    基础练习 字母图形
    基础练习 字母图形
    基础练习 字母图形
    基础练习 01字串
    基础练习 01字串
  • 原文地址:https://www.cnblogs.com/KevinGeorge/p/8295919.html
Copyright © 2011-2022 走看看