我正在WHMCS中创建一个模块,我需要Token标识符来在内部向页面发送请求WHMCS。但我已经尝试了会议,但这不是令牌:
$_SESSION['tkval'];
知道如何在模块中获取当前的WHMCS令牌以便在系统内使用吗?
答案 0 :(得分:2)
如果您正在阅读php文件(例如插件或挂钩):
$smartyObj = $GLOBALS['smarty'];
$formToken = $smartyObj->get_template_vars('token');
答案 1 :(得分:0)
你在制作什么样的模块?如果页面已经有一个带有令牌的表单,那么抓住那个将是最好的选择(如果你可以访问它或通过JS检查一个隐藏的表单字段,通过smarty对象。)但这是一个插件模块或其他一些您正在呈现的内容不包含CRSF令牌的页面,那么您无法真正抓取并重新使用它。
在大多数情况下,我会考虑使用API或数据模型来进行更改,而不是提交到经过验证的CRSF。 API的文档:
以及公共数据模型:
http://docs.whmcs.com/classes/namespaces/WHMCS.html
如果你必须有一个CRSF令牌并且该页面没有提供,那么你就有点卡住了。我建议为API命令发出功能请求,以便为您提供CRSF令牌: