搜索

首页  >  问答  >  正文

javascript - 请教CORS安全性的问题

面试的时候被问到CORS安全性问题,没答上来,想请教下大家。
CORS在服务器端设置了Access-Control-Allow-Origin,不设定为*,不是只有指定的域才能发起请求吗,否则就被浏览器拦截了呀,有看到说http头可以伪造,但是手动设置Origin也会被浏览器阻止,请问CORS的漏洞到底在哪儿?有什么解决方案?谢谢

给我你的怀抱给我你的怀抱2794 天前902

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-05-19 10:44:05

    https://developer.mozilla.org...浏览器兼容性

    回复
    0
  • 高洛峰

    高洛峰2017-05-19 10:44:05

    我反而觉得CORS相交于JSONP是较为安全的跨域方式,也是标准的跨域方式。

    Access-Control-Allow-Origin就是一个允许请求的域白名单,只有是这个域里有的,服务器才会统一跨域请求,如果合理的设置白名单,反而可以避免CSRF攻击。

    我觉得这个问题可能是要求你从如果Access-Control-Allow-Origin为*所面临的问题考虑吧。

    设置成*的一般是公共的API,为了避免被频繁请求或DDOS,一般会多出密钥验证的步骤,并且限制请求频率和次数。

    还有就是CORS虽然默认不传Cookie,但Access-Control-Allow-Credentials设为true就能允许,这样也可能会有CSRF攻击的风险。

    回复
    0
  • 取消回复