laravel怎么防止脚本攻击
发布网友
发布时间:2022-04-25 15:52
我来回答
共1个回答
热心网友
时间:2022-04-06 06:27
laravel为了方式浏览器的伪造请求,csrf攻击,会对每个应用下的页面生成一个csrf_token的令牌表单,用户每次请求的时候会带上这个令牌去和服务器的session的令牌做对比。判断本次请求和生成token的是否是同一个人。
生成csrf令牌隐藏表单
// 这行代码生成了一个标准的隐藏表单值为token<input type="hidden" name="_token" value="<?php echo csrf_token(); ?>">
<?php echo csrf_field(); ?>
获取token
echo csrf_token();
我们不需要手动写验证csrf请求的,因为laravel默认把每个路由都继承了一个HTTP中间件VerifyCsrfToken会为我们做这项工作,将请求中输入的token值和session中的存储的作对比。
例外排除url 不进行csrf的验证
某些时候我们不得已的要使用第三方的请求,这时候就需要将这些网址加入到csrf的例外请求里面,
我们只需要到 中间件VerifyCsrfToken 里面把请求的地址加入到$except属性里面即可。