我正在尝试创建一个简单的方法来限制基于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);
但这似乎并不能否认源自其他域的请求。
任何人都可以帮助我吗?
答案 0 :(得分:0)
解决:为了回答这个问题,经过几个小时的拔毛后,这是经典的“输出标题前的输出”问题“。我错误地记录了我的一个实用程序函数,它正在输出预标题。
另外,作为注释,如果有人有类似的问题:允许的域上没有后缀反斜杠。即“http://allow.com/”失败,但“http://allow.com”有效。