我正在WHMCS中创建一个模块,我需要令牌标识符来在内部向WHMCS发送一个请求,一个页面。但我已经尝试了会话,但这不是令牌:
$_SESSION['tkval'];你知道如何在模块中获取当前的WHMCS令牌以便在系统中使用吗?
发布于 2015-02-04 19:33:39
如果你正在阅读php文件(例如addon或hook):
$smartyObj = $GLOBALS['smarty'];
$formToken = $smartyObj->get_template_vars('token');发布于 2016-08-20 09:46:02
你在做什么类型的模块?如果页面已经有一个带有令牌的表单,那么抓取它将是最好的选择(通过smarty对象,如果您可以访问它,或者通过JS检查隐藏的表单字段)。但是,这是一个插件模块还是其他一些页面,在这些页面中,您呈现的内容不包含CRSF令牌,那么您就不能真正地抓取和重用它。
在大多数情况下,我不会提交给经过验证的CRSF,而是考虑使用API或数据模型进行更改。API文档:
http://docs.whmcs.com/API
对于公共数据模型:
http://docs.whmcs.com/classes/namespaces/WHMCS.html
如果你必须有一个CRSF令牌,而页面没有提供,那么你就有点卡住了。我建议对API命令发出一个功能请求,为您提供CRSF令牌:
https://stackoverflow.com/questions/28180925
复制相似问题