0

HTTP リクエストの発信元ドメイン (基本的には CORS) に基づいてデータへのアクセスを制限する簡単な方法を作成しようとしています。

簡単な背景を説明すると: (私は最新の Laravel 4 を使用しています) - このアプリでは、データは顧客によってオフサイトで使用されます。オリジンに基づいて、そのデータにアクセスするための HTTP リクエストを制限する機能を顧客に提供したいと考えています。そのため、Web サイトからのリクエストのみが 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

解決済み: この質問に答えるために、何時間も頭を悩ませた後、それは古典的な「ヘッダーを送信する前の出力」の問題でした。プリヘッダーを出力していたユーティリティ関数の 1 つをエラー ログに記録していました。

また、注意として、誰かが同様の問題を抱えている場合:許可されたドメインにサフィックスのバックスラッシュがありません。つまり、' http://allow.com/ ' は失敗しますが、' http://allow.com ' は機能します。

于 2013-06-28T00:38:34.870 に答える