TYPO3 8.79.5 pibase $_POST不可用?

问题描述 投票:0回答:1

我正在重做一些旧的typo3项目扩展。问题是我们必须保持在pibase结构上,因为无论如何它都是核心支持的。

但现在我怎么能访问提交的值,因为$_POST已经不可用了,而且我也没有$this->request,因为扩展扩展了AbstractPlugin。

edit:另外,我们不在main()中,代码块在sendMail()中。

我也不知道sendMail是从哪里被调用的,因为没有pibase的文档。

衷心感谢您的帮助

typo3 typo3-9.x typo3-8.x pibase
1个回答
1
投票

你可以用以下方法访问GET和POST参数。\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('name')

但出于安全考虑,这些参数可能会被过滤掉。

我们有cHash的概念,它可以保证网站不被注入参数。所有的参数都必须是已知的,并且通过哈希值来保证安全。如果给定了cHash,参数将从数据库中获取,而给服务器的参数将被忽略。

对于表单(如 ext:formext:powermail)没有cHash生成,表单的字段可以被处理。

如果你有 "裸露 "的表单和普通的php文件要处理,你应该改用表单扩展,在这里你可以使用现有的完成器,也可以添加完成器(和验证器),对于这些完成器,表单数据是安全的,不会被注入,你也不需要去访问 $_GET$_POST.

EDIT: 这里有一个问题的答案,如何禁用单个表单值的cHash计算。TYPO3 - Deactivating cHash in own extension - 8LTS

© www.soinside.com 2019 - 2024. All rights reserved.