所以我一直在创建一个向数据库写入一些信息的表单。它应该集成在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,但它是一种针对的解决方案)也是很好的