Я добавил Google recaptcha в форму обратной связи, но значение также отправляется без кода. Я использовал на своей странице контактов следующие коды для капчи:
<div class="g-recaptcha" data-sitekey="XXXXXXXXXX"></div>
<script src='https://www.google.com/recaptcha/api.js'></script>
Эти два кода я использовал. пожалуйста, скажите мне, как я могу проверить капчу.
magento-1.9
form-validation
contact-form
captcha
google-api
Маниш Гаур
источник
источник
Ответы:
Вы должны попробовать этот код: я использовал это на моем сайте.
источник
Этот скрипт используется для проверки Google ReCaptcha, как проверка по умолчанию magento. пожалуйста, используйте это.
источник
Я использовал recaptcha в контактной форме ..
источник
Принятое выше решение JavaScript, безусловно, НЕ является способом, по моему мнению. Любой бот, который не использует JS (а это большинство из них), просто обойдет проверку и получит весь спам, который вы пытаетесь заблокировать. Всегда всегда всегда проверять на сервере. Проверка JS - только первый шаг UX.
В любом случае, есть несколько решений, но вот что сработало для меня в Magento 1.9 после многих часов исследований. Первоначально это основывалось на ответе Майка выше, но заменяет file_get_contents для cURL, поскольку предыдущая функция обычно выдаст вам ошибки обертки http в зависимости от конфигурации вашего сервера.
Создайте свой собственный модуль, создав папку / app / code / local / YourVendorName / ValidateCaptcha /
В новой папке ValidateCaptcha добавьте папку Model с файлом Customer.php. Это будет использоваться для переопределения основного файла Customer.php, предоставленного Magento.
Скопируйте и вставьте этот код:
Теперь добавьте папку etc в ваш модуль и создайте файл config.xml со следующим:
Затем вам нужно добавить JS в заголовок вашей темы. Под app / design / frontend / default / YOURTHEME / template / page / html / head.phtml добавьте это прямо в конце. Если у вас нет этого файла, скопируйте его из базовых файлов. Не перезаписывайте базовые файлы. Всегда делай свое!
Теперь в app / design / frontend / default / YOURTHEME / template / persistent / customer / form / register.phtml добавьте это прямо перед набором кнопок div внизу:
Почти готово! Теперь просто зарегистрируйте свой новый модуль, создав приложение / etc / modules / YourVendorName / ValidateCaptcha.xml со следующим:
Замените YourVendorName на все, что вы хотите. Ваша окончательная структура должна выглядеть примерно так:
источник
Чтобы проверить капчу, создайте контроллер сохранения для сохранения значений формы, а также проверки.
Убедитесь, что вы заменили ключ сайта и секретный ключ в приведенных выше примерах кодов.
источник
У,
Ваш фрагмент сценария reCaptcha выглядит так, как будто он будет работать, но уточнить, введен ли он в исходный файл Magento head.phtml? (или form.phtml?) для размещения справа внизу за пределами Magento по умолчанию перед PHP зеленым шрифтом, потому что это a.
Вопрос при вводе, особенно php, является обычной практикой вводить его после того самого немедленного раздела комментариев php, который Magento помещает в верхнюю часть для большинства своих исходных страниц шаблона, как в этом примере ниже?
Magento Disclaimer код здесь в тегах php. РАЗМЕСТИТЕ РЕКАПТЧУ ЗДЕСЬ Сценарий здесь?
Кроме того, что делает этот код подтверждения ответа reCaptcha в этом видео ниже более удобным для структуры методов Magento: В этом руководстве в первой строке используется строка $ reCaptcha = $ _POST ?
Последний вариант вопроса: что, если я использую версию php, чтобы сделать эту проверку ответа reCaptcha, будет введен фрагмент кода php после верхнего magento шаблона по умолчанию, зеленого комментария php, как этот
Некоторый код, я не хочу, чтобы сообщения появлялись на внешнем интерфейсе, потому что по умолчанию contactForm уже выдает свои красные предупреждения, если пользователь не вводит всю информацию, которую он скажет под каждым полем, я просто хочу, чтобы reCaptcha работал для этой contactForm. Но таким образом, что я пойму, для будущего использования тоже. Ваш путь создан вами как разработчиком или программистом?
источник