如何在 TYPO 3 服务器端验证中实现?

How can I implement in TYPO 3 server side validation?

提问人:RS Dev 提问时间:5/20/2019 最后编辑:RS Dev 更新时间:5/21/2019 访问量:72

问:

我正在使用 TYPO 3 版本 6.2.14。在这个版本中,我使用Formhandler插件来生成一个联系表单。我已经实现了谷歌的自定义代码 reCAPTCHA V2 显式渲染。现在生成了 reCAPTCHA 代码。但它不执行服务器端验证。我还在 fileadmin/templates/fromhandler/serversidevalidation.php 中创建了用于服务器端验证的 php 文件

if(isset($_POST['g-recaptcha-response']))
      {
        $captcha=$_POST['g-recaptcha-response'];
       }
        if(!$captcha){
          echo '<h2>Please check the the captcha form.</h2>';
          exit;
        }
        $secretKey = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
        $ip = $_SERVER['REMOTE_ADDR'];
        $response=file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=".$secretKey."&response=".$captcha."&remoteip=".$ip);
        $responseKeys = json_decode($response,true);
        echo $responseKeys;
        if(intval($responseKeys["success"]) !== 1) {
          echo '<h2>You are spammer ! Get the bot out</h2>';
        } else {
          echo '<h2>Thanks for posting </h2>';
        }

但是这个简单的 php 文件不包括在 TypoScript 中。如何使用 formhandler 扩展实现服务器端验证。由于兼容性问题,我不想使用扩展。有人可以指导我吗?

验证 Typo3 服务器端

评论

0赞 paskl 5/20/2019
你读过 typo3-formhandler.com/documentation/validators 吗?
0赞 RS Dev 5/20/2019
是的,我已经读过了,但我没有得到它。如何使用表单处理程序实现用于服务器端验证的自定义代码?
1赞 Spears 5/21/2019
@rupali你真的应该至少升级到Typo3 8.x或更好的9.x。版本 7 及更低版本非常过时。也不再有额外的安全漏洞。回到您的问题:由于版本 8 的 typo3 提供了一种不同的表单处理方式,具有自己的核心扩展。对于这个核心扩展,有很好的软件包可以用 reCAPTCHA 扩展表单

答: 暂无答案