一、 什么是 csrf ?

csrf是cross site request forgery的缩写,看起来和xss差不多的样子,但是其原理正好相反,xss是利用合法用户获取其信息,而csrf是伪造成合法用户发起请求。具体操作原理看google。。

二、laravel的csrf防御过程

laravel 会自动在用户 session (根据session_id 关联确认属于谁) 生成存放一个随机令牌(token)放在session中,并且如果使用 laravel 的 {{form::open}} 会自动隐藏存在 csrf_token(),如果需要写html form 则需要在表单中添加具体看下图:

三、token产生原理

通过 illuminate\session\store 类的 gettoken 方法获取随机产生长度为40的字符串

以上这篇对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍就是www.887551.com分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持www.887551.com。