【问题标题】:Laravel 4 Response Headers: deny ajax request based on origin domainLaravel 4 响应标头:拒绝基于源域的 ajax 请求
【发布时间】:2013-06-04 15:47:13
【问题描述】:

我正在尝试创建一种简单的方法来根据 HTTP 请求的来源域(即基本上是 CORS)来限制对数据的访问。

简要介绍一下背景:(我使用的是最新的 Laravel 4)- 在这个应用程序中,客户在场外使用数据。我想让客户能够根据来源限制 HTTP 请求以访问该数据。这样只有来自他们网站的请求才能通过 API 访问该数据。

即为了争论:假设http://mycustomer.com 上的脚本对http://myapp.com/api/customers_data 进行Ajax 调用——我只想允许来自http://mycustomer.com 的请求,而拒绝所有其他请求。

我目前得到的相关代码:

    // i.e. 'http://mycustomer.com';
    $allow_domain = User::settings->domain;

    $headers = array(
       'Access-Control-Allow-Origin' => $allow_domain,
    );

    return Response::make($JSON_data, 200, $headers);

但这似乎无法拒绝来自其他域的请求。

谁能帮帮我?

【问题讨论】:

    标签: header laravel httpresponse cors laravel-4


    【解决方案1】:

    已解决:为了回答这个问题,经过数小时的努力,这是经典的“发送标头前的输出”问题。我在记录我的一个实用程序函数时出错,它正在输出前标头。

    另外,请注意,如果有人遇到类似问题:允许的域上没有后缀反斜杠。即“http://allow.com/”失败,但“http://allow.com”有效。

    【讨论】:

      猜你喜欢
      • 2012-02-28
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2013-11-29
      • 2012-03-18
      • 2016-05-06
      • 2013-11-14
      • 1970-01-01
      相关资源
      最近更新 更多