Заголовки ответов Laravel 4: отклонить запрос ajax на основе исходного домена

Я пытаюсь создать простой метод для ограничения доступа к данным на основе домена, из которого исходит HTTP-запрос (т.е. в основном CORS).

Чтобы дать краткую информацию: (я использую последнюю версию Laravel 4) - в этом приложении данные используются клиентами за пределами сайта. Я хочу дать клиентам возможность ограничивать HTTP-запросы для доступа к этим данным в зависимости от источника. Так что только запросы с их веб-сайта могут получить доступ к этим данным через API.

то есть для аргументов: представьте, что скрипт на http://mycustomer.com делает Ajax-вызов http://myapp.com/api/customers_data --- Я хочу разрешать запросы только от 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);

Но это, похоже, не работает, чтобы отклонить запросы, исходящие из других доменов.

Может кто-нибудь мне помочь?


person ThomasNorth    schedule 08.06.2013    source источник


Ответы (1)


Решено: чтобы ответить на этот вопрос, после многих часов выдергивания волос это была классическая проблема «вывод перед отправкой заголовков». Я зарегистрировал ошибку в одной из моих служебных функций, которая выводила предварительный заголовок.

Кроме того, в качестве примечания, если у кого-то есть аналогичная проблема: в разрешенном домене нет обратной косой черты суффикса. то есть 'http://allow.com/' не работает, но 'http://allow.com работает.

person ThomasNorth    schedule 28.06.2013