CI框架ajax方式post数据时加上csrf验证
2015-06-13 10:51
519 查看
原理
1.生成一个token串放在cookies里面,
2.把上面那个token放在表单里面,
3.表单回传之后,对比cookies里面的这个token和post里面的token是否相等,不相等就返回错误,
4.为什么可以防御csrf呢,因为cookies是不会被第三方获取的。
下面这段就是一个验证通过示例:
1.生成一个token串放在cookies里面,
2.把上面那个token放在表单里面,
3.表单回传之后,对比cookies里面的这个token和post里面的token是否相等,不相等就返回错误,
4.为什么可以防御csrf呢,因为cookies是不会被第三方获取的。
下面这段就是一个验证通过示例:
$this ->security->csrf_verify(); $_POST[$this ->security->get_csrf_token_name()]= $this ->security->get_csrf_hash(); $_SERVER['REQUEST_METHOD']='POST'; $this ->security->csrf_verify();下面这段就是一个验证不通过示例:
$this ->security->csrf_verify(); //$_POST[$this ->security->get_csrf_token_name()]= $this ->security->get_csrf_hash(); $_SERVER['REQUEST_METHOD']='POST'; $this ->security->csrf_verify();
相关文章推荐
- 动手实现 数据结构 之 “十字链表”
- 浅谈JDBC
- 项目管理
- Hibernate SQLQuery 原生SQL 查询及返回结果集处理-2
- Leetcode[102]-Binary Tree Level Order Traversal
- 如何改善或解决无法集中注意力思考问题的情况?
- Matlab的Profile功能
- 探索Android该Parcel机制(上)
- Fixed固定位置的悬浮div层
- 《Pro Ogre 3D Programming》读书笔记 之 第十一章 动态阴影
- 由先序序列/后序序列和中序序列构造二叉树
- IOS开发—视图控制器左边缘右滑pop出栈
- cocos2d-x3.2中将XCode发展project转移到VS2010可能会发生错误
- Hibernate中Criteria的完整用法
- 那些在学习iOS开发前就应该知道的事
- 常用的php ADODB使用方法集锦
- 又安上了好多otherthings.......
- SOA面向服务架构的一些思考
- Javascript中call的使用
- [leetcode] House Robber II