我正在重做一些旧的typo3项目扩展。问题是我们必须保持在pibase结构上,因为无论如何它都是核心支持的。
但现在我怎么能访问提交的值,因为$_POST已经不可用了,而且我也没有$this->request,因为扩展扩展了AbstractPlugin。
edit:另外,我们不在main()中,代码块在sendMail()中。
我也不知道sendMail是从哪里被调用的,因为没有pibase的文档。
衷心感谢您的帮助
你可以用以下方法访问GET和POST参数。\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('name')
但出于安全考虑,这些参数可能会被过滤掉。
我们有cHash的概念,它可以保证网站不被注入参数。所有的参数都必须是已知的,并且通过哈希值来保证安全。如果给定了cHash,参数将从数据库中获取,而给服务器的参数将被忽略。
对于表单(如 ext:form
或 ext:powermail
)没有cHash生成,表单的字段可以被处理。
如果你有 "裸露 "的表单和普通的php文件要处理,你应该改用表单扩展,在这里你可以使用现有的完成器,也可以添加完成器(和验证器),对于这些完成器,表单数据是安全的,不会被注入,你也不需要去访问 $_GET
或 $_POST
.
EDIT: 这里有一个问题的答案,如何禁用单个表单值的cHash计算。TYPO3 - Deactivating cHash in own extension - 8LTS