Facebook iFrame选项卡中的表单:$_SERVER[“REQUEST_METHOD”]=“”;POST”;返


Form in Facebook iFrame Tab: $_SERVER["REQUEST_METHOD"] == "POST" returns TRUE

所以我一直在创建一个向数据库写入一些信息的表单。它应该集成在facebook的标签中。到目前为止,它运行得很好,但我在检查表单提交时遇到了一些问题。我是这样做的:

protected function isFormSubmission() {
   return ($_SERVER["REQUEST_METHOD"] == "POST");
}

我的整个表单检查是这样的:

public function normForm() {
    if ($this->isFormSubmission()) {
        if ($this->isValidForm()) {
            $this->processForm();
        }
        else {
            $this->printForm();
        }
    }
    else {
        $this->printForm();
    }
}

我的问题是,当加载选项卡时,Facebook以某种方式立即为($_SERVER["REQUEST_METHOD"]=="POST")返回TRUE。这意味着函数isValidForm()返回FALSE,并且显示所有用户输入错误。。。当我独立于FB加载页面时,它工作得很好。。。

以下是该页面的链接:https://ssl-account.com/sparfuchs.cash-back-info.com/sparfuchs_werden/index.php

为什么FB为($_SERVER["REQUEST_METHOD"]=="POST")返回TRUE?我如何避免这种情况?

非常感谢

Julian

嘿。。。我真的不知道为什么(可能是缓存、结构、外部应用程序策略等等)。为了避免这种情况,使用一些带有标记的隐藏输入。此外,使用一些"反"CSRF((不是完全安全的CSRF,但它是一种针对的解决方案)也是很好的