laravel5.4系列之laravel下的伪造跨站请求
CSRF 保护
任何指向 web 中 POST, PUT 或 DELETE 路由的 HTML 表单请求都应该包含一个 CSRF 令牌,否则,这个请求将会被拒绝。更多的关于 CSRF 的说明在 CSRF 说明文档:
<form method="POST" action="/profile">
{{ csrf_field() }}
...
</form>
laravel中提供了简单的办法使的应用免受跨站请求伪造csrf,跨站请求使一种恶意的攻击,laravel为每个活跃的用户都自动生成了一个csrf令牌,然后用于放在html的表单当中,从而提交的时候,中间件组中的VerifyCsrfToken才可以验证是否匹配。
CSRF 白名单
如果你想要某个不需要CSRF保护的url.比如test
。因为RouteServiceProvider 适用于 routes/web.php,然后这些路由都加载相应的中间件。
这时候,只要在VerifyCsrfToken中间件中的$except属性中排除对这些路由的保护 例如:
$except=[ 'test/*',],