laravel5 CSRF 保护用法

aravel 提供简易的方法,让您可以保护您的应用程序不受到 CSRF (跨网站请求伪造) 攻击。跨网站请求伪造是一种恶意的攻击,借以代表经过身份验证的用户执行未经授权的命令。

Laravel 会自动在每一位用户的 session 中放置随机的 token ,这个 token 将被用来确保经过验证的用户是实际发出请求至应用程序的用户:

插入 CSRF Token 到表单
<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
当然也可以在 Blade 模板引擎使用:

<input type="hidden" name="_token" value="{{ csrf_token() }}">
您不需要手动验证在 POST、PUT、DELETE 请求的 CSRF token。 VerifyCsrfToken HTTP 中间件将保存在 session 中的请求输入的 token 配对来验证 token 。

X-CSRF-TOKEN
除了寻找 CSRF token 作为「POST」参数,中间件也检查 X-XSRF-TOKEN 请求头,比如,你可以把 token 存放在 meta 标签中, 然后使用 jQuery 将它加入到所有的请求头中:

<meta name="csrf-token" content="{{ csrf_token() }}" />

$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
现在所有的 AJAX 请求会自动加入 CSRF token:

$.ajax({
url: "www.djznrobot.com",
})

posted @ 2020-10-12 18:07  学无边涯  阅读(101)  评论(0)    收藏  举报