zoukankan      html  css  js  c++  java
  • apache跨域

    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

    <VirtualHost *:8888>
        DocumentRoot "D:GitHubTPVueTODOpublic"
        ServerName www.todo.com
        ServerAlias todo.com
      <Directory "D:GitHubTPVueTODOpublic">
          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"
      </Directory>
    </VirtualHost>
    

    重启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
    

    在上面的响应头中:

    1. 第一行定义了双向通信通道,
    2. 第二行定义了请求可以使用OPTIONS, GET, POST, PUT, HEAD中的任何方式,
    3. 第三行则是定义的响应头,
    4. 最后一行允许经过身份验证的资源进行通信。

    CORS中授权信息

    上面我们看到CORS开启之后便可以被跨域访问,但是这个还不够安全,必须有相应的授权访问机制才实现身份识别,将请求对象限定在可信范围内。
    CORS实现跨域时授权问题(401错误)的解决
    TODO: 验证的后面加上...

  • 相关阅读:
    [BZOJ 4001] [TJOI 2015] 概率论
    【计算几何】推导坐标的旋转公式
    【动态规划学习】01背包
    (坑)网络流24题
    bzoj2442(单调队列优化)
    [lydsy2005]能量采集
    主席树
    [noi2005][treap]序列维护
    [Apio2012][Treap]派遣
    [CodeVs][1514][Treap][书架]
  • 原文地址:https://www.cnblogs.com/wancy86/p/7290623.html
Copyright © 2011-2022 走看看