0

我正在尝试创建一个简单的方法来限制对基于 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);

但这似乎并不能拒绝来自其他域的请求。

谁能帮我吗?

4

1 回答 1

0

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

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

于 2013-06-28T00:38:34.870 回答