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

yipeiwu_com6年前PHP代码库

apaceh 配置:

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

PHP文件设置:

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

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

httpd.conf:

<VirtualHost *:80>
  ServerAdmin xxx@qq.com
  DocumentRoot "C:/htdocs/demo"
  ServerName dev.dd.cn
  ##ErrorLog "logs/dummy-host.localhost-error.log"
  ##CustomLog "logs/dummy-host.localhost-access.log" combined
  <Directory "C:/htdocs/demo">
    #Require all denied
    Header set Access-Control-Allow-Origin http://feng.com/
  </Directory>
</VirtualHost>

PHP文件中:

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

php数组中删除元素之重新索引的方法

如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 复制代码 代码如下: <?php $arr = array('a','b','c',...

PHP将进程作为守护进程的方法

本文实例讲述了PHP将进程作为守护进程的方法。分享给大家供大家参考。具体分析如下: php中posix_setsid()的用法 文档解释是“Make the current proces...

PHP实现获取域名的方法小结

本文实例总结了PHP实现获取域名的方法。分享给大家供大家参考。具体实现方法如下: 方法一(用 系统变量)    复制代码 代码如下://缺点不使用传递过来的地址和不支持系统变量的主机  ...

laravel 实现设置时区的简单方法

laravel 实现设置时区的简单方法

众所周知 laravel 和 php 一样 默认的是英国的格林尼治时间 和我们相差大概8小时 laravel 框架其实 内置了设置时区的方式 打开 config 下的 app.php 找...

深入解析PHP中的(伪)多线程与多进程

(伪)多线程:借助外力利用WEB服务器本身的多线程来处理,从WEB服务器多次调用我们需要实现多线程的程序。QUOTE:我们知道PHP本身是不支持多线程的, 但是我们的WEB服务器是支持多...