【问题标题】:Laravel CSRF token for AJAX CORS用于 AJAX CORS 的 Laravel CSRF 令牌
【发布时间】:2014-05-01 05:18:31
【问题描述】:
如何在 Laravel 中为跨域(子域)请求提供 csrf 令牌。
domain.tld 和 sub.domain.tld 都在同一个 Laravel 框架下运行,
因此我可以在sub.domain.tld 中使用csrf_token(),我直接将它附加到请求中,但它一直给我tokenMismatchException,我试图关闭csrf 过滤器并转储Input::('_token') 和Session::token() ,它总是不匹配
那么,我如何为另一个域提供令牌?
【问题讨论】:
标签:
ajax
laravel
cors
csrf
【解决方案1】:
您是否添加了正确的标头以允许 ajax 请求跨域/子域?
如果没有,请在 app/filters.php 中的 App::before 过滤器中添加:
App::before(function($request)
{
$host = explode( '.', $_SERVER['HTTP_HOST'] );
$subdomain = array_shift( $host );
header('Access-Control-Allow-Origin: http://' . $subdomain . '.yourdomain.com');
});