模仿表单令牌,处理前后端星散csrf进击的题目

csrf跨站要求捏造。
人人都晓得,之前项目没有运用前后端星散计划时,成熟的框架解决计划都是在form表单当中增添隐蔽列,如许每次提交时都邑考证 token ,运用一次后烧毁。比方:

<form action="//rasp.oneasp.com/account/modifyPassword">
  <input .....>
  <input type="hidden" name="__token__" value="xxxxxxx"/>
</form>

前后端星散情况下,该怎样完成呢?
很简单,经由过程cookie,redis完成。
服务端供应一个接口(保证在统一域名下),天生_token_,将_token_写入到redis和cookie。前端再挪用接口的时刻,要带上这个token.运用一次后从redis中烧毁。

public function testAction(){
    $_token_ = md5(uniqid());
    ...#把token存入到redis当中
    setcookie('_token_', $_token_, time()+(24*3600), '/');
    return false;
}

人人有什么好的计划,能够留言议论。

    原文作者:hufeng
    原文地址: https://segmentfault.com/a/1190000007023723
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞