Нужно заменить стандартную каптчу либо на ReCaptcha (http://www.google.com/recaptcha) либо на KeyCaptcha (https://www.keycaptcha.com)
у КейКаптчи очень много уже готовых модулей для различных движков, думается мне, что переделка под Инстант будет проще… (https://www.keycaptcha.com/captcha-for-cms/)
Кто возьмется сделать? и во сколько это обойдется?
Для пользователя гораздо меньше телодвижений чем у ReCaptcha и KeyCaptcha, а надежностью не меньше
2. у меня есть почти такая же от Макса…
Движок 10.2
Нужно заменить стандартную каптчу либо на ReCaptcha (http://www.google.com/recaptcha) либо на KeyCaptcha (https://www.keycaptcha.com)
у КейКаптчи очень много уже готовых модулей для различных движков, думается мне, что переделка под Инстант будет проще… (https://www.keycaptcha.com/captcha-for-cms/)
Кто возьмется сделать? и во сколько это обойдется?
Инструкция и плагин в аттаче. Обойдется бесплатно)
Если все понятно — тогда добавим здесь в плагины. А то писался на скорую руку, а потом просто лежал в стороне(
1. для cms.php:
public function checkCaptchaCode
пропустили static
2.
<?php ?>
3. Зашёл в регистрацию и получил:
Fatal error: Class 'KeyCAPTCHA_CLASS' not found in Y:\home\1103r2.ru\www\core\classes\page.class.php on line 577
577: $kc_o = new KeyCAPTCHA_CLASS('%PrivateKey%');
в комментариях только капчу и то, что ниже в статье
Всего доброго!
Исчезаю.
P.S. 1.10.3
Да с кодами что то напутали, у меня также как у ded-pikto.В коде <?php — ?> точно не нужны.Mademaster, если отпишитесь о результатах установки — будем благодарны.
Если все понятно — тогда добавим здесь в плагины. А то писался на скорую руку, а потом просто лежал в стороне(
include_once("/%InstantCMS_root%/core/classes/keycaptcha.php"); $kc_o = new KeyCAPTCHA_CLASS('%PrivateKey%');
а %PrivateKey% — заменить на private key из личного кабинета.
Собственно, ошибка вылезла от того, что путь к keycaptcha.php не указан, а страница разъехалась — от того, что при ее выводе произошла ошибка (путь-то не указан) и вывод страницы остановился.
вот ссылка на 10.2 — yadi.sk/d/jAugLMZZBLpmK
по поводу пути… почти во всех файлах путь идет без переменной — include_once('core/classes/keycaptcha.php'); вот так вполне достаточно.
у меня такой вопрос — вы писали под 10.3?
у большинства на рабочих сайтах еще 10.2 стоит и хотелось бы и оставить 10.2
Только что проверил — работает под чистой 10.2
Пример измененного кода
core/cms.php:
public static function checkCaptchaCode($code){ include_once("core/classes/keycaptcha.php"); $kc_o = new KeyCAPTCHA_CLASS('ZqkjclOQAquVUQzQQAafIPlVf025071'); return $kc_o->check_result($_POST['capcode'])==1; }
public static function getCaptcha($input_name='code'){ $kc_o = new KeyCAPTCHA_CLASS('ZqkjclOQAquVUQzQQAafIPlVf025071'); return "<input type=\"hidden\" name=\"capcode\" id=\"capcode\" value=\"false\" /> <input name=\"$input_name\" type=\"hidden\" value=\"123\" style=\"width:120px\" />".$kc_o->render_js(); }
для какой версии?Небольшое изменение — теперь все должно работать.