rss
twitter
  •  

Установка reCAPTCHA на LiveStreet

| Категория: LiveStreet |

11 комментариев

Понятно, что стандартная каптча не сможет хорошо защитить от спаммеров. Поэтому займемся её заменой. Я для себя выбрал reCAPTCHA, хотя её многие и не любят. Итак, идем сюда и получаем ключи: Public Key и Private Key. Public будем вставлять в JavaScript и он может быть найден в исходном коде, Private нужно хранить в секрете и использовать только на стороне сервера.

Инструкция более не актуальна – собрал плагином!

Итак, приступаем к замене каптчи. Идем в /templates/skin/название-темы/actions/ActionRegistration и открываем файл index.tpl , в котором заменяем

index.tpl   
<img src="{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}" onclick="this.src='{cfg name='path.root.engine_lib'}/external/kcaptcha/index.php?{$_sPhpSessionName}={$_sPhpSessionId}&n='+Math.random();" />
 
		<p><input type="text" name="captcha" value="" maxlength="3" class="input-100" /></p>

на
<script type="text/javascript" src="http://api.recaptcha.net/challenge?k=ЗДЕСЬ_ВАШ_Public_Key">
</script><noscript>Включите JavaScript или обновите ваш браузер!</noscript>
Только не забудьте заменить ЗДЕСЬ_ВАШ_Public_Key на полученный ранее Public Key. Перед этим еще можно добавить
<script type="text/javascript">
        var RecaptchaOptions = {
                custom_translations : {
                        instructions_visual : "Введите два слова:",
                        instructions_audio : "Введите что вы слышите",
                        play_again : "Включить заново",
                        cant_hear_this : "Скачать в формате MP3",
                        visual_challenge : "Визуальный режим",
                        audio_challenge : "Режим аудио",
                        refresh_btn : "Обновить",
                        help_btn : "Помощь",
                        incorrect_try_again : "Неверно. Пожалуйста, попробуйте еще раз.",
                },
                lang : 'ru', // Unavailable while writing this code (just for audio challenge)
                theme : 'white' // Make sure there is no trailing ',' at the end of the RecaptchaOptions dictionary
        };
		</script>

для русификации. Подробнее о кастомизации каптчи смотрите здесь.

Далее качаем саму библиотеку каптчи отсюда, распаковываем и кладем её содержимое в /engine/lib/external/recaptcha. Далее идем в /classes/actions, открываем файл ActionRegistration.class.php. Добавляем в начало файла подключение библиотеки

require_once ($_SERVER['DOCUMENT_ROOT']."/engine/lib/external/recaptcha/recaptchalib.php");

Затем удаляем или комментируем
if (!isset($_SESSION['captcha_keystring']) or $_SESSION['captcha_keystring']!=strtolower(getRequest('captcha'))) {
				$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
				$bError=true;

и добавляем
$resp = null;
if (array_key_exists('recaptcha_response_field',$_POST)){
$resp = recaptcha_check_answer ('ЗДЕСЬ_ВАШ_Private_Key',$_SERVER["REMOTE_ADDR"],$_POST["recaptcha_challenge_field"],$_POST["recaptcha_response_field"]);}
if ($resp==null or !$resp->is_valid){
$this->Message_AddError($this->Lang_Get('registration_captcha_error'),$this->Lang_Get('error'));
$bError=true;

Надеюсь не нужно объяснять, что нужно заменить ЗДЕСЬ_ВАШ_Private_Key на Private Key. =)
Установка reCAPTCHA на LiveStreet 0.5.1 завершена!

Похожие записи:



Установка reCAPTCHA на LiveStreet: 11 комментариев

Parse error: syntax error, unexpected T_PROTECTED in /usr/home/mayer/community/classes/actions/ActionRegistration.class.php on line 209

Перепроверьте правильность выполнения инструкций. Я на три сайта уже поставил – никаких проблем не было. Если не поможет – покажите эту строчку и код рядом. Есть ли какие-то дополнительные плагины, влияющие на регистрацию?

Parse error: syntax error, unexpected T_PROTECTED in Z:\home\46.46.70.11\www\lskap\classes\actions\ActionRegistration.class.php on line 206

206 строка это protected function EventActivate() {

Только что пробовал на чистую версию не чего не активировано не установлено…

Еще и на локалке? Закиньте этот файл куда-нибудь.

У вас одна фигурная скобка лишняя в конце =)

гже именно?! или можете подправить и прислать на jazz.xray@gmail.com заранее благодарен

отправил.

Благодарю,теперь все отлично!!!

кстатит поправьте тогда в инструкции)))

Поправил =) Спасибо что нашли ошибку и за то что помогаете гуглу расшифровывать старые книги (каптча именно этим занимается) *THUMBS UP*