csrf跨站请求伪造。
大家都知道,之前项目没有使用前后端分离方案时,成熟的框架解决方案都是在form表单当中增加隐藏列,这样每次提交时都会验证 token ,使用一次后销毁。例如:前后端分离情况下,该如何实现呢?
很简单,通过cookie,redis实现。服务端提供一个接口(保证在同一域名下),生成_token_,将_token_写入到redis和cookie。前端再调用接口的时候,要带上这个token.使用一次后从redis中销毁。public function testAction(){ $_token_ = md5(uniqid()); ...#把token存入到redis当中 setcookie('_token_', $_token_, time()+(24*3600), '/'); return false;}
大家有什么好的方案,可以留言讨论。