Перейти к публикации

Рекомендованные сообщения

Сайт с установленной демо версией avto-5.ru

Необходимо интегрировать сервис KeyCAPTCHA вместо обычной капчи.

Данные сервис платит за рекламу в капче.

Сайт сервиса http://www.keycaptcha.com

Стандартного решения для интеграции в DLE нет. Тех. поддержка заявила, что все сайты на DLE, большей частью сателлиты с ссылками на софт, и интереса для них не представляет. Хелп они создавать не будут.

Поэтому прошу или разобраться как его внедрять или на платной основе внедрить на моем ресурсе.

Хотя, я думаю, многим данный сервис поможет заработать дополнительную копеечку.

Привожу пример инструкции по установке сервиса для нестандартный CMS который дала тех.поддержка:

1. Скачайте KeyCAPTCHA класс для PHP и сохраните его на Вашем веб-сервере. ВНИМАНИЕ: Данный файл содержит секретный ключ для Вашего сайта, поэтому используйте его только на http://avto-5.ru/

Листинг файла keycaptcha_avto-5_ru.php:

<?php

if ( !class_exists('KeyCAPTCHA_CLASS') )

{

class KeyCAPTCHA_CLASS

{

private $c_kc_keyword = "accept";

private $p_kc_visitor_ip = "";

private $p_kc_session_id = "";

private $p_kc_web_server_sign = "";

private $p_kc_web_server_sign2 = "";

private $p_kc_js_code = "<!-- KeyCAPTCHA code (www.keycaptcha.com)--><script language='JavaScript'>var s_s_c_user_id = '16328';var s_s_c_session_id = '#KC_SESSION_ID#';var s_s_c_captcha_field_id = 'capcode';var s_s_c_submit_button_id = 'postbut';var s_s_c_web_server_sign = '#KC_WSIGN#';var s_s_c_web_server_sign2 = '#KC_WSIGN2#';</script><script language=JavaScript src='http://backs.keycaptcha.com/swfs/cap.js'></script><!-- end of KeyCAPTCHA code-->";

private $p_kc_private_key = "twUWObwYjruSdcpgrlWiFEYBA";

public function get_web_server_sign($use_visitor_ip = 0)

{

return md5($this->p_kc_session_id . (($use_visitor_ip) ? ($this->p_kc_visitor_ip) :("")) . $this->p_kc_private_key);

}

function __construct($a_private_key='', $a_js_code='')

{

if ( $a_private_key != '' ) {

$this->p_kc_private_key = $a_private_key;

}

if ( $a_js_code != '' ) {

$this->p_kc_js_code = $a_js_code;

}

$this->p_kc_session_id = uniqid() . '-3.4.0.001';

$this->p_kc_visitor_ip = $_SERVER["REMOTE_ADDR"];

}

function http_get($path)

{

$arr = parse_url($path);

$host = $arr['host'];

$page = $arr['path'];

if ( $page=='' ) {

$page='/';

}

if ( isset( $arr['query'] ) ) {

$page.='?'.$arr['query'];

}

$errno = 0;

$errstr = '';

$fp = fsockopen ($host, 80, $errno, $errstr, 30);

if (!$fp){ return ""; }

$request = "GET $page HTTP/1.0\r\n";

$request .= "Host: $host\r\n";

$request .= "Connection: close\r\n";

$request .= "Cache-Control: no-store, no-cache\r\n";

$request .= "Pragma: no-cache\r\n";

$request .= "User-Agent: KeyCAPTCHA\r\n";

$request .= "\r\n";

fwrite ($fp,$request);

$out = '';

while (!feof($fp)) $out .= fgets($fp, 250);

fclose($fp);

$ov = explode("close\r\n\r\n", $out);

return $ov[1];

}

public function check_result($response)

{

$kc_vars = explode("|", $response);

if ( count( $kc_vars ) < 4 )

{

return false;

}

if ($kc_vars[0] == md5($this->c_kc_keyword . $kc_vars[1] . $this->p_kc_private_key . $kc_vars[2]))

{

if (stripos($kc_vars[2], "http://") !== 0)

{

$kc_current_time = time();

$kc_var_time = split('[/ :]', $kc_vars[2]);

$kc_submit_time = gmmktime($kc_var_time[3], $kc_var_time[4], $kc_var_time[5], $kc_var_time[1], $kc_var_time[2], $kc_var_time[0]);

if (($kc_current_time - $kc_submit_time) < 15)

{

return true;

}

}

else

{

if ($this->http_get($kc_vars[2]) == "1")

{

return true;

}

}

}

return false;

}

public function render_js ()

{

if ( isset($_SERVER['HTTPS']) && ( $_SERVER['HTTPS'] == 'on' ) )

{

$this->p_kc_js_code = str_replace ("http://","https://", $this->p_kc_js_code);

}

$this->p_kc_js_code = str_replace ("#KC_SESSION_ID#", $this->p_kc_session_id, $this->p_kc_js_code);

$this->p_kc_js_code = str_replace ("#KC_WSIGN#", $this->get_web_server_sign(1), $this->p_kc_js_code);

$this->p_kc_js_code = str_replace ("#KC_WSIGN2#", $this->get_web_server_sign(), $this->p_kc_js_code);

return $this->p_kc_js_code;

}

}

}

?>

2. Если Ваш хостер запрещает исходящие соединение с сервера, скачайте скрипт получения времени и сохраните его в корень Вашего веб-сайта. После чего в настройках сайта на www.keycaptcha.com выключите флаг "Разрешить исходящие запросы" и укажите URL для обращения к скрипту получения времени.

Листинг файла kc-gettime.php:

<?php

echo (gmdate("Y/m/d H:i:s",time()));

?>

3. Добавьте скрытое поле в защищаемую форму:

<input type="hidden" name="capcode" id="capcode" value="false" />

4. Добавьте атрибут id="postbut" к элементу управления формы, который отвечает за отправку формы. Например:

<input type="submit" value="Save" id="postbut" class="button" />

5. Добавьте следующий PHP код в функцию генерации страницы на Вашем веб-сервере:

if (!class_exists('KeyCAPTCHA_CLASS')) {

// измените путь '/home/path_to_keycaptcha_file/' на реальный путь к keycaptcha_avto-5_ru.php

include('/home/path_to_keycaptcha_file/keycaptcha_avto-5_ru.php');

}

$kc_o = new KeyCAPTCHA_CLASS();

echo $kc_o->render_js();

6. Добавьте следующий код в функцию обработки формы:

if (!class_exists('KeyCAPTCHA_CLASS')) {

// измените путь '/home/path_to_keycaptcha_file/' на реальный путь к keycaptcha_avto-5_ru.php

include('/home/path_to_keycaptcha_file/keycaptcha_avto-5_ru.php');

}

$kc_o = new KeyCAPTCHA_CLASS();

if ($kc_o->check_result($_POST['capcode'])) {

// Пользователь правильно решил задачу

// Добавьте свой код, который будет сохранять данные формы

}

else {

// Пользователь неверно решил задачу

// Добавьте свой код, который будет формировать сообщение об ошибке

}

Прошу разобраться профи в DLE

Ссылка на сообщение
Поделиться на других сайтах

Сайт с установленной демо версией avto-5.ru Необходимо интегрировать сервис KeyCAPTCHA вместо обычной капчи.

На демоверсии вы точно ничего не интегрируете. В демоверсии исходный код скрипта DLE закрыт и его нельзя отредактировать

Ссылка на сообщение
Поделиться на других сайтах
  • 5 месяцев спустя...

Тема-то померла?

Дело даже не в деньгах, а в том, что этот сервис сверхэффективен против ботов. На одном ресурсе они у меня даже как-то начали проходить вопрос/ответ. Поставил кейкапчу и сразу полегчало)

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

Кстати оригинально она выглядит, вроде просто в то же время боты уже не пройдут, только ручками.

Кто то реализовал уже?

Ссылка на сообщение
Поделиться на других сайтах
  • 6 месяцев спустя...

Сегодня зашёл на сайт keycaptcha.ru и там появилась версия для DLE 9.6-9.7 поставил себе всё работает.

Будет ли KeyCAPTCHA на DLE?

нет

Спасибо, за достоверную информацию :)

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...
  • 1 месяц спустя...

Нужна keycaptcha для DLE 8.0

Кто может помочь?

Ссылка на сообщение
Поделиться на других сайтах

Тех. поддержка заявила, что все сайты на DLE, большей частью сателлиты с ссылками на софт, и интереса для них не представляет.

Фраза позабавила. После нее я точно НИКОГДА не буду иметь дело с такими мегакрутыми перцами...

Ссылка на сообщение
Поделиться на других сайтах

Нужна keycaptcha для DLE 8.0

А её разработчки не желают помочь?

Вы знаете - помогли!! На письмо в поддержку кейкапчи мне ответил Андрей. сказал, что для DLE 8.0 подходит кейкапча от 9.6, модуль для которой есть на сайте. единственное, надо заменить 1 файл. выслал мне его письмом и дописал инструкцию - какие небольшие изменения в код внести, чтобы в админке управлять можно было.

Очень и очень благодарна ему! Работает почти все. :) не работает только при отсылке личных сообщений и при отсылке писем с сайта. но думаю, что мы еще пообщаемся и я все поправлю. Но есть и одна непонятная проблема, но это я отдельным постом напишу - задам вопрос на форуме, т.к. здесь не совсем по теме.

Еще раз хочу выразить огромную благодарность поддержке Кейкапчи в лице Андрея за практически мгновенное реагирование и помощь!

Ссылка на сообщение
Поделиться на других сайтах
  • 2 месяца спустя...

Скажите пожалуйста, кто нибудь тестировал KeyCAPTCHA на мобильной версии сайта? Можно ли её собирать например в Опере мини, IE или других броузерах на смартфонах?

Спасибо!

Ссылка на сообщение
Поделиться на других сайтах
  • 1 месяц спустя...

Добрый день, Форумчане!

@дед: Профессор Преображенский говорил: «...не читайте до обеда советских газет.».

Контент и favicon однозначно определили цитату.

@YuriBtr: KeyCAPTCHA прекрасно работает на мобильных устройствах во всех современных браузерах.

@celsoft: В связи с участившимися обращениями в нашу службу поддержки пользователей DLE с вопросами о помощи в интеграции их сайтов с KeyCAPTCHA, предлагаю взаимовыгодное сотрудничество, а именно: добавить интеграцию нашего сервиса в базовую поставку Вашего продукта, как это уже сделали, например, разработчики IP.Board. Сотрудничество считаю взаимовыгодным, т.к. Ваши пользователи перестанут жаловаться на спам и отнимать дополнительное время у Вашей технической поддержки.

P.S. Если возникнут вопросы по интеграции, всегда буду рад ответить.

С уважением,

Владыкин Максим

Один из основателей KeyCAPTCHA

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...