Captcha на сайте.. Нужно более совершенное решение

#1 20 октября 2013 в 12:25
Движок 10.2

Нужно заменить стандартную каптчу либо на ReCaptcha (http://www.google.com/recaptcha) либо на KeyCaptcha (https://www.keycaptcha.com)

у КейКаптчи очень много уже готовых модулей для различных движков, думается мне, что переделка под Инстант будет проще… (https://www.keycaptcha.com/captcha-for-cms/)

Кто возьмется сделать? и во сколько это обойдется?
#3 20 октября 2013 в 13:14
1. есть нарекания по ней (по поводу каптчи Атлантиса… сам модуль я не покупал, сделал вывод на основании коментов к этому модулю, так как не было ответов на претензии, так что сильно не пинайте, и извиняюсь — если с ней все нормально)
2. у меня есть почти такая же от Макса…
#4 21 октября 2013 в 07:37


Движок 10.2

Нужно заменить стандартную каптчу либо на ReCaptcha (http://www.google.com/recaptcha) либо на KeyCaptcha (https://www.keycaptcha.com)

у КейКаптчи очень много уже готовых модулей для различных движков, думается мне, что переделка под Инстант будет проще… (https://www.keycaptcha.com/captcha-for-cms/)
Кто возьмется сделать? и во сколько это обойдется?

Mademaster

Инструкция и плагин в аттаче. Обойдется бесплатно)
Прикрепленный файл
instantCMS_kheur.zip 3 Кб
#5 21 октября 2013 в 09:27
KeyCAPTCHA, Ухх спасибо)))
#6 21 октября 2013 в 09:37
Mademaster, если отпишитесь о результатах установки — будем благодарны.
Если все понятно — тогда добавим здесь в плагины. А то писался на скорую руку, а потом просто лежал в стороне(
#7 21 октября 2013 в 09:55
да отпишусь конечно, только вечером, сейчас нет возможности
#8 21 октября 2013 в 11:25
KeyCAPTCHA, в инструкции поправьте:
1. для cms.php:
public function checkCaptchaCode
пропустили static
2.
  1. <?php
  2. ?>
в начале и конце файла уже есть.
3. Зашёл в регистрацию и получил:
Fatal error: Class 'KeyCAPTCHA_CLASS' not found in Y:\home\1103r2.ru\www\core\classes\page.class.php on line 577
  1. 577: $kc_o = new KeyCAPTCHA_CLASS('%PrivateKey%');
Дальше не пошёл, бо не смыслю и хулиганю здесь исключительно потому, что люди соображающие либо на работе, либо спят, либо соображают)))
#9 21 октября 2013 в 11:37
Что характерно: в регистрации снесло все стили


в комментариях только капчу и то, что ниже в статье


Всего доброго!
Исчезаю.

P.S. 1.10.3
#10 21 октября 2013 в 12:54

Mademaster, если отпишитесь о результатах установки — будем благодарны.
Если все понятно — тогда добавим здесь в плагины. А то писался на скорую руку, а потом просто лежал в стороне(

KeyCAPTCHA
Да с кодами что то напутали, у меня также как у ded-pikto.В коде <?php — ?> точно не нужны.
#11 21 октября 2013 в 14:25
В коде, который вставляется:
  1. include_once("/%InstantCMS_root%/core/classes/keycaptcha.php");
  2. $kc_o = new KeyCAPTCHA_CLASS('%PrivateKey%');
надо заменить %InstantCMS_root% на путь к корню InstantCMS (если есть знающие люди, которые подскажут, переменную CMS — то буду благодарен)
а %PrivateKey% — заменить на private key из личного кабинета.

Собственно, ошибка вылезла от того, что путь к keycaptcha.php не указан, а страница разъехалась — от того, что при ее выводе произошла ошибка (путь-то не указан) и вывод страницы остановился.
#12 21 октября 2013 в 20:37
Установка не прошла… при замене кода в педж.класс.пхп белая страница, нужно на хосте включать показ ошибок, но мне нужно уезжать, буду только завтра вечером...

вот ссылка на 10.2 — yadi.sk/d/jAugLMZZBLpmK

по поводу пути… почти во всех файлах путь идет без переменной — include_once('core/classes/keycaptcha.php'); вот так вполне достаточно.

у меня такой вопрос — вы писали под 10.3?

у большинства на рабочих сайтах еще 10.2 стоит и хотелось бы и оставить 10.2
#13 22 октября 2013 в 12:09
Писалось под 9.х
Только что проверил — работает под чистой 10.2
Пример измененного кода
core/cms.php:
  1.  
  2. public static function checkCaptchaCode($code){
  3. include_once("core/classes/keycaptcha.php");
  4. $kc_o = new KeyCAPTCHA_CLASS('ZqkjclOQAquVUQzQQAafIPlVf025071');
  5. return $kc_o->check_result($_POST['capcode'])==1;
  6. }
  7.  
core/classes/page.class.php:
  1.  
  2. public static function getCaptcha($input_name='code'){
  3. include_once(dirname(__FILE__)."/keycaptcha.php");
  4. $kc_o = new KeyCAPTCHA_CLASS('ZqkjclOQAquVUQzQQAafIPlVf025071');
  5.  
  6. return
  7. "<input type=\"hidden\" name=\"capcode\" id=\"capcode\" value=\"false\" />
  8. <input name=\"$input_name\" type=\"hidden\" value=\"123\" style=\"width:120px\" />".$kc_o->render_js();
  9. }
  10.  
  11.  
(Private Key, естесственно, надо вставлять свой и нигде не публиковать :D)
#14 22 октября 2013 в 13:55
Небольшое изменение — теперь все должно работать.
Прикрепленный файл
instantCMS_kheur.zip 3 Кб
#15 22 октября 2013 в 14:32

Небольшое изменение — теперь все должно работать.

KeyCAPTCHA
для какой версии?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.