当前位置:首页 > PHP教程 > php高级应用 > 列表

php apache开启跨域模式过程详解

发布:smiling 来源: PHP粉丝网  添加日期:2021-12-02 17:24:53 浏览: 评论:0 

这篇文章主要介绍了php apache开启跨域模式过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。

apaceh 配置:

  1. <VirtualHost *:80> 
  2.   ServerAdmin xxx@qq.com 
  3.   DocumentRoot "C:/htdocs/demo" 
  4.   ServerName dev.dd.cn 
  5.   ##ErrorLog "logs/dummy-host.localhost-error.log" 
  6.   ##CustomLog "logs/dummy-host.localhost-access.log" combined 
  7.   <Directory "C:/htdocs/demo"
  8.     #Require all denied 
  9.     Header set Access-Control-Allow-Origin * 
  10.   </Directory> 
  11. </VirtualHost> 

PHP文件设置:

  1. <?php 
  2.    header("Access-Control-Allow-Origin:*");  
  3.    //处理请求输出数据 
  4. ?> 

配置的含义是允许任何域发起的请求都可以获取当前服务器的数据,当然,这样有很大的危险性,恶意站点可能通过XSS攻击我们的服务器。所以我们应该尽量有针对性的对限制安全的来源,例如下面的设置使得只有http://feng.com这个域才能跨域访问服务器的API。

httpd.conf:

  1. <VirtualHost *:80> 
  2.   ServerAdmin xxx@qq.com 
  3.   DocumentRoot "C:/htdocs/demo" 
  4.   ServerName dev.dd.cn 
  5.   ##ErrorLog "logs/dummy-host.localhost-error.log" 
  6.   ##CustomLog "logs/dummy-host.localhost-access.log" combined 
  7.   <Directory "C:/htdocs/demo"
  8.     #Require all denied 
  9.     Header set Access-Control-Allow-Origin http://feng.com 
  10.   </Directory> 
  11. </VirtualHost> 
  12. <VirtualHost *:80> 
  13.   ServerAdmin xxx@qq.com 
  14.   DocumentRoot "C:/htdocs/demo" 
  15.   ServerName dev.dd.cn 
  16.   ##ErrorLog "logs/dummy-host.localhost-error.log" 
  17.   ##CustomLog "logs/dummy-host.localhost-access.log" combined 
  18.   <Directory "C:/htdocs/demo"
  19.     #Require all denied 
  20.     Header set Access-Control-Allow-Origin http://feng.com 
  21.   </Directory> 
  22. </VirtualHost> 

PHP文件中:

header("Access-Control-Allow-Origin:http://feng.com");

Tags: apache开启跨域模式

分享到: