• 技术文章 >后端开发 >PHP问题

    php如何解决跨域问题

    王林王林2021-02-12 09:49:36转载1830

    php入门到就业线上直播课:进入学习

    什么是跨域?

    跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。

    所谓同源是指,域名,协议,端口均相同。

    1、允许所有域名访问

    header('Access-Control-Allow-Origin: *');

    2、允许单个域名访问

    header('Access-Control-Allow-Origin: https://test.com');

    3、允许多个域名访问

    在实际项目中最好指定能跨域访问的域名,增加安全性。可以写在一个公共类里面,封装一个方法调用。

    // 设置能访问的域名
    static public $originarr = [
       'https://test1.com',
       'https://test2.com',
    ];
     
    /**
     *  公共方法调用
     */
    static public function setheader()
    {
       // 获取当前跨域域名
       $origin = isset($_SERVER['HTTP_ORIGIN']) ? $_SERVER['HTTP_ORIGIN'] : '';
       if (in_array($origin, self::$originarr)) {
          // 允许 $originarr 数组内的 域名跨域访问
          header('Access-Control-Allow-Origin:' . $origin);
          // 响应类型
          header('Access-Control-Allow-Methods:POST,GET');
          // 带 cookie 的跨域访问
          header('Access-Control-Allow-Credentials: true');
          // 响应头设置
          header('Access-Control-Allow-Headers:x-requested-with,Content-Type,X-CSRF-Token');
       }
    }

    相关推荐:php教程

    以上就是php如何解决跨域问题的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:博客园,如有侵犯,请联系admin@php.cn删除

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php 跨域
    上一篇:php如何控制循环执行的时间 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• Python Flask大刀解决跨域问题• ajax跨域问题如何解决• nginx如何解决请求跨域问题• vue.js怎样配置跨域文件
    1/1

    PHP中文网