ReCAPTCHA v2 и Parser3
Василий М. 02.12.2017 12:54
Привет.
Нашел вот эту уже довольно древндюю ветку:
https://www.parser.ru/forum/?id=74713 .
С тех пор кое-что изменилось. :-) Появились новые чипы капч, изменились адреса обработчиков и так далее. У меня получилось вставить предложенный вариант как есть, он даёт рабочую ископаемую капчу с двумя словами латиницей.
Пробуя заменить её на обычную сегодня V2 "я не робот", столкнулся с рядом проблем, часть которых не могу решить своими силами. Помогите, пожалуйста.
Что сделано:
1. Изменения в выдаче пользователю.
$result[<script type="text/javascript">
var RecaptchaOptions = ^self._printOptions[$hOptions]
</script>
<script type="text/javascript" src="${self.sChallengeURL}?k=${sPublicKey}$sError"></script><noscript>
<iframe src="${self.sNoscriptChallengeURL}?k=${sPublicKey}$sError" height="300" width="500" frameborder="0"></iframe><br/>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>]
заменено на
$result[<script type="text/javascript">
var RecaptchaOptions = ^self._printOptions[$hOptions]
</script>
#<script type="text/javascript" src="${self.sChallengeURL}?k=${sPublicKey}$sError"></script>
<div class="g-recaptcha" data-sitekey="qwertyuiopasdfghjklzxcvbnm"></div><noscript>
<iframe src="${self.sNoscriptChallengeURL}?k=${sPublicKey}$sError" height="300" width="500" frameborder="0"></iframe><br/>
<textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea>
<input type="hidden" name="recaptcha_response_field" value="manual_challenge"/>
</noscript>]
2. Изменения в адресах
В последней версии той ветки предлагался такой набор урлов:
$self.sChallengeURL[
http://www.google.com/recaptcha/api/challenge]
$self.sNoscriptChallengeURL[
http://www.google.com/recaptcha/api/noscript]
$self.sAJAXURL[
http://www.google.com/recaptcha/api/js/recaptcha_ajax.js]
$self.sVerifyURL[
http://www.google.com/recaptcha/api/verify]
Теперь, по информации , sVerifyURL=
https://www.google.com/recaptcha/api/siteverify3. Добавление скрипта в head, как просит рекапча:
<script src='ht
tps://www.google.com/recaptcha/api.js'></script>
Результат - ошибка где-то здесь,
'load' called with invalid option [parser.runtime] [uri=/workshops/answers/, method=POST, cl=510]: $fResult[^file::load[text;$self.sVerifyURL][
$.method[POST]
$.form[
$.privatekey[$sPrivateKey]
$.remoteip[$env:REMOTE_ADDR]
$.challenge[$hData.recaptcha_challenge_field]
$.response[$hData.recaptcha_response_field]
]
$.headers[
$.[USER-AGENT][reCAPTCHA Parser3]
]
$.timeout(10)
]]
Что поправить?
- ReCAPTCHA v2 и Parser3, Василий М. 02.12.2017 12:54