1
メインドメインのサブドメインからログインメソッドを呼び出しており、CORSミドルウェアを作成しました。しかし、期待どおりに動作しません。Laravel CORS issue
私は、要求が特定のドメインから来たかどうかを確認したいので、私はこれやってみました:
public function handle($request, Closure $next)
{
if(!isset($_SERVER['HTTP_REFERER']))
return $next($request);
$originalDomain = config('session.domain');
$parsedUrl = parse_url($_SERVER['HTTP_REFERER']);
$splitDomain = explode('.', $parsedUrl['host'], 2);
$subdomain = $splitDomain[0];
$domain = $splitDomain[1];
$subdomainValid = ($parsedUrl['host'] != $originalDomain) && ($originalDomain == $domain);
if(!$subdomainValid)
return $next($request);
$allowedUrl = $parsedUrl['scheme'] . '://' . $subdomain . '.' . config('session.domain');
return $next($request)
->header('Access-Control-Allow-Origin', $allowedUrl)
->header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS')
->header('Access-Control-Allow-Headers', 'Origin, x-requested-with, x-csrf-token');
}
をしかし私がいる問題は$_SERVER['HTTP_REFERER']
は時々私が期待値を返さないということです。要求元を返すべきではありませんか?
**「HTTP_REFERER」 電流にユーザーエージェントを参照するページのアドレス(もしあれば)ページ。これはユーザエージェントによって設定されます。すべてのユーザーエージェントでこれを設定するわけではなく、HTTP_REFERERを機能として変更する機能もあります。要するに、それは本当に信頼できるものではありません。** – madalinivascu
さて、解決策は? – Norgul
静的なURLを使用していますか? – madalinivascu