Cyb*_*kie 19 php security codeigniter token
最近我发现了CSRF攻击,并很高兴地发现CSRF保护被添加到Codeigniter v 2.0.0中.
我启用了该功能,并看到在表单中添加了带有令牌的隐藏输入,我认为它也将令牌存储在会话中.在POST请求中,CI会自动比较令牌还是我必须手动执行此操作?
Wes*_*rch 37
仅当使用该form_open()函数时,CSRF令牌才会作为隐藏输入添加到表单中.
具有CSRF令牌值的cookie由Security类创建,并在必要时为每个请求重新生成.
如果$_POST存在数据,则由Input类自动验证cookie.如果发布的令牌与cookie的值不匹配,则CI将显示错误并无法处理$_POST数据.
所以基本上,它都是自动的 - 你所要做的就是在你的身上启用它$config['csrf_protection']并使用form_open()你的表单功能.
我发现的一篇好文章解释得非常好:https://beheist.com/blog/csrf-protection-in-codeigniter-2-0-a-closer-look.html