跨源共享(CORS)的一点疑惑

大家都熟悉同源法则http://www.w3.org/Security/wiki/Same_Origin_Policy

现在w3c又出了跨源共享机制http://www.w3.org/TR/cors/#cors-api-specification-security

 

我有点迷糊的就是,同源法则就是出于安全的考虑禁止对其它源的访问,但是它仍然不能保证跨站脚本的攻击。同源法则也导致正常的跨域请求实现很麻烦,然而这个跨域同源机制的控制却又是在其它源服务器上(通过发Access-Control-Allow-Origin 头),而不是本源服务器或代码。

 

我就很纠结这个,照我想,安全控制应该是本源的事,是否可访问其它源应有本源来控制,如果这样的话,本源正常的跨源访问就很方便了。而实际上为什么要其它源来控制是否可访问呢,这对于跨站脚本倒是个好事,它肯定乐意跨源来执行它的脚本了。

 

我自己的理解是,从字面上看共享这个词就是控制资源是否可以共享,这个机制是控制本站资源是否允许被其它站点访问。

 

这个解释我自己都说不过去啊,公开的站点哪需要这个多余的机制来控制呢,而对于正常的跨域请求,这个机制还是不方便呢。

 

搞不清白!

 

 

参见:

http://blog.csdn.net/net_lover/article/details/5172509


Total views.

© 2013 - 2018. All rights reserved.

Powered by Hydejack v6.6.1