当前位置: 首页 > 知识库问答 >
问题:

JavaScript:“同源策略”失败

史超英
2023-03-14

我尝试了无数的代码排列,最接近成功的是关于“主域同源策略”的警告,或者我被弹回到应用程序登录页面,该页面是使用CodeIgniter编写的。

为了保持理智,在域一上。com,我正在使用:

(function($) {
    var url = 'http://domain-two.com/get_data?callback=?';
    $.ajax({
        type: 'GET',
        url: url,
        async: false,
        contentType: "application/json",
        dataType: 'jsonp',
        success: function(json) {
            console.log(json);
        },
        error: function(e) {
            console.log(e.message);
        }
    });
})(jQuery);

在domain-two.com的PHP中,我使用:

public function get_data () {
    $results = $this->model->method();
    if (count(results)>0):
        foreach (results as $array):
            $array['index'] = $array['value'];
            $array[] = $array_result;
        endforeach;

        header('content-type: application/json; charset=utf-8');
        header("access-control-allow-origin: *");

        $json = json_encode($array);

        # JSON if no callback
        if( ! $this->input->get('callback')):
            exit( $json );
        endif;
        # JSONP if valid callback
        if(is_valid_callback($this->input->get('callback'))):
            exit( $this->input->get('callback') . "(" . $json . ")" );
        endif;

    else:
        return false;
    endif;
}

在这一点上,值得一提的是,当我访问PHP方法的链接时,它会给我所需的数据。但是,如果我通过包含JavaScript的网页这样做,它不会(“主域同源策略”错误,或者我被弹回到登录页面)。

关于我如何使用回调的帮助充其量也不多(一些人建议使用实际的回调函数,其他人则声称不需要这样的函数)。

在这5天之后,我不知道我该做什么,因为有太多不同的技术,其中似乎没有一种适合我。

欢迎提出任何建议!

共有1个答案

计寒
2023-03-14

在你的php中,域二。com

header('Access-Control-Allow-Origin: http://domain-one.com');
header('Access-Control-Allow-Origin: http://domain-two.com');
 类似资料:
  • 本文向大家介绍Javascript同源策略相关面试题,主要包含被问及Javascript同源策略时的应答技巧和注意事项,需要的朋友参考一下 同源策略是Javascript重要的安全度量标准。它最早出自Netscape Navigator2.0,其目的是防止某个文档或脚本从多个不同源装载。所谓的同源就是同协议,同主机名,同端口号。 它的精髓很简单:它认为自任何站点装载的信赖内容是不安全的。当被浏览器

  • 同源策略 浏览器的同源策略是 Web 安全的基石,它对从一个源加载的文档或脚本如何与来自另一个源的资源进行交互做出了限制。这是一个用于隔离潜在恶意文件的关键的安全机制,每个源均与其余网络保持隔离,从而为开发者提供一个可进行构建和操作的安全沙盒。 如果没有同源策略, Web 世界就变得非常不安全,拿浏览器中的 cookie 来说,当你登录 a 网站,同时打开 b 网站,b 网站能获取你 a 网站的

  • 同源策略是用来限制从一个源加载的文档或脚本如何与其他源的资源进行交互的很重要的安全机制,这有助于隔离存在潜在威胁的文档,并减少可能的攻击向量。 关于「源」 网络内容的「源」是由在访问它时所用的 URL 的协议、主机(域名)和端口来定义的,只有当这三者在正在交互的两个对象中完全相同时才会被认为是「同源」。 下表给出了与 https://ourai.ws/categories/ 进行源比较的例子: U

  • 同源策略 上一节介绍 CSP 时,我们提到了浏览器的同源策略,同源策略是 Web 安全的基础,它对从一个源加载的资源如何与来自另一个源的资源进行交互做出了限制。这是一个用于隔离潜在恶意文件的关键安全机制,每个源均与其他网络保持隔离,从而为开发者提供一个可进行构建和操作的安全沙盒。 如果没有同源策略,Web 世界就变得非常不安全,拿浏览器中的 cookie 来说,当你登录 A 网站,同时打开 B 网

  • 假设我拥有2个域www.xyz.comajax.xyz.com.我想从前缀为www的站点加载我的超文本标记语言和javascript,然后向前缀为ajax的站点执行ajax请求。同源策略会阻止我的ajax请求从www.xyz.comajax.xyz.com还是在不使用访问控制允许源标头的情况下工作。 问候

  • 同源策略(SOP)是Web应用程序安全模型中的一个重要概念。 什么是同源政策? 根据此策略,它允许在源自同一站点的页面上运行脚本,该站点可以是以下组合 - 域(域名) 协议 端口 实例 这种行为背后的原因是安全性。如果您在一个窗口中有而在另一个窗口中有,如果您不希望的脚本访问或修改的内容,或您想要在的上下文中运行操作。 以下是来自同一来源的网页。如前所述,相同的起源需要考虑域/协议/端口。 htt