Magento 매장의 문의 양식에서 가끔 스팸이 발송되었습니다. Captcha를 추가하는 것을 꺼려하여 양식에 숨겨진 필드를 추가하려고합니다. 필드가 채워지면 양식이 제출되지 않습니다 (대부분의 로봇은 자동으로 모든 필드를 완료합니다).Magento - 문의 양식에 숨겨진 필드 추가
필드를 추가하는 방법을 알고 있지만 필드에 값이있는 경우 양식을 거부하는 코드를 추가하는 방법과 방법을 알고있는 사람이 있습니까?
감사합니다.
Magento 매장의 문의 양식에서 가끔 스팸이 발송되었습니다. Captcha를 추가하는 것을 꺼려하여 양식에 숨겨진 필드를 추가하려고합니다. 필드가 채워지면 양식이 제출되지 않습니다 (대부분의 로봇은 자동으로 모든 필드를 완료합니다).Magento - 문의 양식에 숨겨진 필드 추가
필드를 추가하는 방법을 알고 있지만 필드에 값이있는 경우 양식을 거부하는 코드를 추가하는 방법과 방법을 알고있는 사람이 있습니까?
감사합니다.
먼저 연락처 양식에서 요청한 컨트롤러 동작을 알아야합니다. 아직 알지 못하는 경우 <form>
의 action
매개 변수를 확인하거나 Fiddler을 사용하거나 브라우저 별 도구 (예 : 방화범 이불 등)를 사용하여 찾으십시오.
다음으로 override 사용자가 컨트롤러를 찾았습니다.
마지막으로, 오버라이드 (override) 행동에, 잡을
$sMyHiddenField = $this->getRequest()->getParam('my_hidden_field', '');
if ($sMyHiddenField) {
$this->_forward('noRoute'); // or whatever
}
을 넣어.
나는 당신이 여기서 무엇을 할 것인지 정확히 모르겠지만 어쩌면 도움이 될 것입니다.
표준 컨트롤러는 Mage_Contacts_IndexController
이며 여기에 있습니다 : 응용 프로그램/코드/코어/마법사/연락처/컨트롤러/IndexController.php 물론
당신이 local
디렉토리에 복사 할 것 중 하나 또는 자신 만의 맞춤 모듈로 클래스를 확장하십시오. 이 파일의 복사본을 사용해 볼 수 있습니다. 이게 도움이 되길 바란다.
사람들의 검색에 대한 저의 작은 기여 - 이런 종류의 방어는 허니팟이라고합니다. 그래서 거기에 간다.
는 젠토 1.3.2, 나는code/local/Mage/Contacts/controllers/IndexController.php
에서 컨트롤러의 내 사본의 라인 75이 추가 :
'맛있는가'나는
template/contacts/form.phtml
에 추가 된 숨겨진 필드입니다
// check the spam honeypot
if (!empty($post['yummy'])) {
$error = true;
}
.
내가이 같은 메인 블록에서 양식을 작성하는 동안 숨겨진 필드를 넣을 수 있다고 생각 :이 값이 설정되어 있는지 확인하는
$fieldset->addField('entity_type_id', 'hidden', array(
'name' => 'entity_type_id',
'value' => 11
));
이 후
당신이 saveAction()에서 확인할 수 있습니다 또는 not