Magento - 将隐藏字段添加到联系表
问题描述:
我一直在偶尔从我的Magento商店的联系表单中收到垃圾邮件。我不愿意添加Captcha,所以想尝试在表单中添加隐藏字段。如果填写了该字段,表单将不会被提交(大多数机器人自动完成所有字段)。Magento - 将隐藏字段添加到联系表
我知道如何添加字段,但没有人知道如何添加代码以拒绝表单,如果该字段有值?
谢谢!
答
我不确定你要去哪里,但也许这会有所帮助。
的标准控制器是Mage_Contacts_IndexController
,它位于:应用程序/代码/核心/法师/联系人/控制器/ IndexController.php
当然,你要么想将它复制到local
目录或用你自己定制的模块扩展这个类。你可以尝试使用这个文件的副本。我希望这有帮助。
答
我对寻找人的次要贡献 - 这种防御称为蜜罐。所以你去了。
在Magento的1.3.2,我说这在我的控制器的复制75线在code/local/Mage/Contacts/controllers/IndexController.php
:
// check the spam honeypot
if (!empty($post['yummy'])) {
$error = true;
}
其中“美味”是隐藏字段我template/contacts/form.phtml
增加。
答
我想你可以把隐藏字段,而你在这样的主块创建表单:
$fieldset->addField('entity_type_id', 'hidden', array(
'name' => 'entity_type_id',
'value' => 11
));
,并在此之后,你可以在saveAction()检查,以检查这些值设置或不是