http://www.cnblogs.com/2050/p/3191744.html
http://blog.csdn.net/qq_15283821/article/details/54405805
加载header模块:
LoadModule headers_module modules/mod_headers.so
修改vhost.conf
DocumentRoot "D:\GitHub\TPVueTODO\public"
ServerName www.todo.com
ServerAlias todo.com
Options FollowSymLinks ExecCGI
AllowOverride All
Order allow,deny
Allow from all
Require all granted
Header set Access-Control-Allow-Origin *
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE"
Header set Access-Control-Allow-Headers "Content-Type"
重启apache服务
net stop apache2a
net start apache2a
跨域详解
http://www.freebuf.com/articles/web/65468.html
浏览器同源策略保护的是别人,不是你。你跨域请求别人的网站的信息对别人构成安全问题,因而不允许ajax跨域访问。 更重要的是不允许跨域访问浏览器端的cookie信息,比如你正在浏览邮件,然后邮件中有个恶意链接,你点开了,如果没有同源策略限制,这个打开的恶意网站是可以执行js代码访问你的邮件内容的。但是这个策略也给我们跨域数据请求带来了麻烦,CORS(跨源资源共享)解决了这个问题,通过在被请求站点的服务端设置response header,浏览器识别之后便允许跨域访问。
Access-Control-Allow-Origin: *.Httpsecure.org
Access-Control-Allow-Methods: OPTIONS, GET, POST, HEAD, PUT
Access-Control-Allow-Headers: X-custom
Access-Control-Allow-Credentials: true
在上面的响应头中:
- 第一行定义了双向通信通道,
- 第二行定义了请求可以使用OPTIONS, GET, POST, PUT, HEAD中的任何方式,
- 第三行则是定义的响应头,
- 最后一行允许经过身份验证的资源进行通信。
CORS中授权信息
上面我们看到CORS开启之后便可以被跨域访问,但是这个还不够安全,必须有相应的授权访问机制才实现身份识别,将请求对象限定在可信范围内。
CORS实现跨域时授权问题(401错误)的解决
TODO: 验证的后面加上...