CSRF攻击原理及其防护
1、CSRF攻击是what?
CSRF是跨站请求伪造(Cross-site request forgery)的英文缩写。具体了解请自行百度。
2、Laravel中如何避免CSRF攻击
Laravel自动为每个用户Session生成了一个CSRF Token,该Token可用于验证登录用户和发起请求者是否是同一人,如果不是则请求失败。
Laravel提供了一个全局帮助函数csrf_token(本地存放在D:\www\laravel5.1\vendor\laravel\framework\src\Illuminate\Foundation\helpers.php)来获取该Token值,因此只需在视提交图表单中添加如下HTML代码即可在请求中带上Token:
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
该段代码等同于全局帮助函数csrf_field的输出:
<?php echo csrf_field(); ?>
在Blade模板引擎中还可以使用如下方式调用:
{
!! csrf_field() !!}
测试代码
我们在routes.php中定义如下代码:
Route::get('testCsrf',