我制作了Sencha前端应用程序,其后端是用PHP / Joomla完成的。 Sencha JS app发送的数据使用PHP与Joomla框架进行验证和保存。
如何在Sencha JS应用程序中创建CSRF令牌并在PHP / Joomla代码上验证它
答案 0 :(得分:0)
Joomla表单受到每个新帖子检查的令牌的保护。令牌只是一个隐藏字段,您可以使用
将其插入到表单中echo JHtml::_('form.token');
在控制器中使用类似
的内容进行检查JSession::checkToken('post') or jexit(JText::_('JInvalid_Token'));
这适用于标准的get / post交互。但是如果您要使用Ajax,则需要在每次请求后检索新令牌:
然后你的控制器必须返回
JSession::getFormToken()
到前端,它应该包含在下一个电话中。
注意:确保未缓存ajax响应:当第一个代码段插入的隐藏令牌输入由页面缓存正确处理时,您必须注意更新任何其他事件。