CSRF保护不受诸如用户注册或添加注释之类的表单元素的攻击。创建CSRF是为了防止将表单值发送到我们的应用程序之外。为了解决这个问题, 我们以每种形式生成一个随机的随机数(令牌)。
我们在会话中添加令牌, 然后验证令牌。通过比较表单将数据回传到应用程序中, 并将其与会话提交的会话中的令牌存储到会话中。
例子
<
?php echo Tag::form('session/login') ?>
<
!-- Login and password inputs ... -->
<
input type='hidden' name='<
?php echo $this->
security->
getTokenKey() ?>
'value='http://www.srcmini.com/<
?php echo $this->
security->
getToken() ?>'/>
<
/form>
【跨站请求伪造(CSRF)保护】然后, 在控制器的操作中, 你可以检查CSRF令牌是否有效:
<
?phpuse Phalcon\Mvc\Controller;
class SessionController extends Controller{public function loginAction(){if ($this->
request->
isPost()) {if ($this->
security->
checkToken()) {// The token is OK}}}}
推荐阅读
- Phalcon Cookie管理
- Phalcon连接到数据库
- Phalcon配置详解
- Perl While循环
- Android测试(Espresso 自动化测试)
- Android测试(Instrumented 单元测试)
- Android测试(Local 单元测试)
- Android 四大组件Service 使用
- Android测试(UI Automator 自动化测试)