将CSRF反欺骗添加到Sencha表单中

时间:2013-05-13 07:05:14

标签: php extjs joomla sencha-touch-2 csrf

我制作了Sencha前端应用程序,其后端是用PHP / Joomla完成的。 Sencha JS app发送的数据使用PHP与Joomla框架进行验证和保存。

如何在Sencha JS应用程序中创建CSRF令牌并在PHP / Joomla代码上验证它

1 个答案:

答案 0 :(得分:0)

Joomla表单受到每个新帖子检查的令牌的保护。令牌只是一个隐藏字段,您可以使用

将其插入到表单中
echo JHtml::_('form.token');

在控制器中使用类似

的内容进行检查
JSession::checkToken('post') or jexit(JText::_('JInvalid_Token'));

这适用于标准的get / post交互。但是如果您要使用Ajax,则需要在每次请求后检索新令牌:

然后你的控制器必须返回

JSession::getFormToken() 

到前端,它应该包含在下一个电话中。

注意:确保未缓存ajax响应:当第一个代码段插入的隐藏令牌输入由页面缓存正确处理时,您必须注意更新任何其他事件。