楼主感到疑惑:貌似只是告诉客户端一个白名单让客户端自觉连接,服务端是不是还要判断 @$%^&%
楼主可能知道这是什么,但是不知道这个目的是什么...我们从头来说吧
5 楼说了安全问题。是的。如果 A 网站能读取浏览器保存的 B 网站的 Cookie ,或者 A 网站的脚本能随意让浏览器对 B 网站发起请求(比如转账操作),是不是不安全?
于是搞了一个同源策略。如果非同源,即便要求发 Ajax 也会拒绝。非同源就 0 信任。
但是这样的同源策略是否有些过于严格?
如果我前后端分离,我域名或者端口就是不一样怎么办?我前端就是需要加载别的域名的 API 怎么办?反正我就是要加载非同源的东西,你一个同源策略因为安全问题就把它堵死了?搞得 AJAX 用不了。
楼主说的 Access-Control-Allow-Origin 这就来了。
后端需要告诉浏览器,哪个前端网站你可以信任,在他的页面可以给我发请求,我们是一家的。
这是设置一种因为信任而可以设置安全例外的做法。
客户端不自觉?那是客户端有安全缺陷。你做网站的恐怕做不了太多。 |