Русский English Deutsch Українська Қазақша

Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не вошли.

#1 2009-10-19 11:24:50

Amarelius
Модератор
Откуда: Kiev
Здесь с 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Капча от captcha.ru

Собственно тема о том как настроить капчу от captcha.ru на своем сайте.
a306a13c6c1ee387390fdc96c7bdca66.png

Версия NG 0.9.1
1. Идем сюда и качаем архив с сайта.

ba085ba9ace538a0e831ccfffb1265e6.png

2. Распаковываем содержимое архива в папку trash

c2ea9ab296477ed6346856f41c9aa5da.png

3. Содержимое файла ......\engine\trash\captcha.php заменяем на

<?php
@require_once('core.php');
@include_once dirname(__FILE__).'/kcaptcha/kcaptcha.php';

if(isset($_REQUEST[session_name()])){
	session_start();
}

$captcha = new KCAPTCHA();

if($_REQUEST[session_name()]){
	$_SESSION['captcha'] = $captcha->getKeyString();
}
?>

3. Содержимое файла ......\engine\captcha.php заменяем на

<?php
@require_once('core.php');
@include_once dirname(__FILE__).'/trash/kcaptcha/kcaptcha.php';

if(isset($_REQUEST[session_name()])){
	session_start();
}

$captcha = new KCAPTCHA();

if($_REQUEST[session_name()]){
	$_SESSION['captcha'] = $captcha->getKeyString();
}
?>

Вот собственно и вся установка, в самих шаблонах ничего менять не нужно, как работает можно посмотреть у меня на сайте.

Теперь про настройку.

Все настройки капчи вынесены в файл kcaptcha_config.php
$alphabet - перечисляет набор символов шрифта, не рекомендуется менять, так как символ который вы добавите может отсутствовать в тех шрифтах, которые есть в наличии
$allowed_symbols - перечисляет используемые из набора шрифта символы
$fontsdir - название папки со шрифтами
$length - количество отображаемых символов
$width - ширина изображения
$height - высота изображения
$fluctuation_amplitude - величина вертикальной амплитуды смещения символов
$no_spaces - в значении истинна (true) символы отображаются слитно
$show_credits - в значении истинна (true), под капчей отображается содержимое переменной $credits (чтобы не отображать достаточно установить равным false, пример $show_credits = false;)
$credits - содержит значение отображаемое под капчей при установленной в true $show_credits.
$foreground_color - цвет текста капчи
$background_color - цвет фона капчи
$jpeg_quality - качество картинки с капчей.

Отредактировано Amarelius (2009-10-19 11:37:12)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Вне форума

#2 2009-10-19 12:47:27

RMC
Участник
Здесь с 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: Капча от captcha.ru

Amarelius, а можешь посмотреть и если не сложно - написать, как правильно встроить капчу от http://recaptcha.net/
а то вставить то я её вставил, но только в гостевую и то пришлось собирать два кода в один.. не уверен, насколько удачно wink. но вроде тестил - проверяет.. wink
http://egf.spsu.ru/plugin/guestbook/

Отредактировано RMC (2009-10-19 12:47:52)

Вне форума

#3 2009-10-19 13:58:18

Amarelius
Модератор
Откуда: Kiev
Здесь с 2008-10-24
Сообщений: 639
Рейтинг :   69 
Сайт

Re: Капча от captcha.ru

RMC, проблема в том, что у данной капчи проверка правильности ввода происходит на стороне сервера http://api.recaptcha.net, а в ng в движке, так же в ng по умолчанию капча встраивается как ссылка на изображение, а та капча которую ты предлагаешь сама генерирует html код (опять же на стороне их сервера), поэтому для поддержки этой капчи придется вносить изменения во все модули в которых ты ее планируешь использовать. Но это возможно.
----------------------------------------------------
Вообще я предлагаю создать абстрактный класс для работы с капчей на уровне ядра и плагинов, который будет отвечать за генерацию HTML-кода для капчи и проверять ее правильность, тогда при встраивании любого рода решений не будет необходимости перелапачивать такую кучу кода.

Отредактировано Amarelius (2009-10-19 14:00:11)


Всегда ищу разработчиков в Киеве!
Ищешь работу программистом, пиши мне на ArnitUA@gmail.com

Вне форума

#4 2009-12-07 21:24:07

StronG
Участник
Откуда: Russia
Здесь с 2009-02-08
Сообщений: 431
Рейтинг :   

Re: Капча от captcha.ru

RMC,  по мне эта капча уж слишком грамозкая !!!
Amarelius,  спасибо, хорошо смотрится))))

Вне форума

#5 2009-12-07 23:33:24

RMC
Участник
Здесь с 2009-07-01
Сообщений: 151
Рейтинг :   
Сайт

Re: Капча от captcha.ru

StronG, но если на серваке нет библиотеки GD, то от любой капчи генерируемой на месте пользы нет, т.к. не показывается.
поэтому и взял рекапчу - там картинка генерируемся на их сервере..

Вне форума

#6 2010-05-03 16:33:02

CyberMama
Участник
Откуда: Иркутск
Здесь с 2009-11-24
Сообщений: 139
Рейтинг :   17 
Сайт

Re: Капча от captcha.ru

Amarelius,   а с плагином feedback она у тебя совмещается?

Вне форума

#7 2011-03-19 18:25:39

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Капча от captcha.ru

После такой замены текста captcha.php перестает работать, например, капча в плагине feedback.

Так как сам плагин пишет в сессию captcha.feedback и в качестве параметра к captcha.php  передает id=feedback. В самой captcha.php стоит проверка, если передан id, то брать  $cShowNumber = $_SESSION['captcha.'.$blockName];, где $blockName = $_REQUEST['id'];

Лечится так: найти

$captcha = new KCAPTCHA();

заменить на

$id = $_REQUEST['id'] ? (string)$_SESSION['captcha.'.$_REQUEST['id']] : '';
$captcha = new KCAPTCHA($id);

Открыть kcaptcha.php

Найти

function KCAPTCHA(){

заменить на

function KCAPTCHA($id){

найти

// generating random keystring
			while(true){
				$this->keystring='';
				for($i=0;$i<$length;$i++){
					$this->keystring.=$allowed_symbols{mt_rand(0,strlen($allowed_symbols)-1)};
				}
				if(!preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $this->keystring)) break;
			}

заменить на

if(!$id){
				// generating random keystring
				while(true){
					$this->keystring='';
					for($i=0;$i<$length;$i++){
						$this->keystring.=$allowed_symbols{mt_rand(0,strlen($allowed_symbols)-1)};
					}
					if(!preg_match('/cp|cb|ck|c6|c9|rn|rm|mm|co|do|cl|db|qp|qb|dp|ww/', $this->keystring)) break;
				}
			} else {
				$this->keystring = $id;
			}

P.S. Спасибо Артем за баг-репорт

Вне форума

#8 2011-03-19 18:52:58

Wolverine
Модератор
Откуда: Домодедово
Здесь с 2008-10-13
Сообщений: 3,538
Рейтинг :   160 
Сайт

Re: Капча от captcha.ru

Хотя нет, я не до конца прочувствовал всю логику. Можно сделать проще.

if($_REQUEST[session_name()]){
    $_SESSION['captcha'] = $captcha->getKeyString();
}

заменить на

if($_REQUEST[session_name()]){
    $_SESSION['captcha'] = $captcha->getKeyString();
    if($_REQUEST['id']) $_SESSION['captcha.'.$_REQUEST['id']] = $captcha->getKeyString();
}

Отредактировано Wolverine (2011-03-19 18:53:26)

Вне форума

#9 2011-03-20 03:59:05

Neo
Участник
Откуда: SPB, Russia
Здесь с 2010-01-04
Сообщений: 463
Рейтинг :   

Re: Капча от captcha.ru

Отлично, Wolverine!
Работает с плагинами (comments, addnews, feedback).

Вне форума

#10 2012-01-15 12:55:15

yaroslav
Участник
Здесь с 2011-12-28
Сообщений: 5
Рейтинг :   

Re: Капча от captcha.ru

как сделать под 0.93
KCAPTCHA 2.0

Отредактировано yaroslav (2012-01-15 12:58:01)

Вне форума

#11 2012-01-15 15:19:04

yaroslav
Участник
Здесь с 2011-12-28
Сообщений: 5
Рейтинг :   

Re: Капча от captcha.ru

причём не работает только в хроме

Вне форума

#12 2012-01-16 20:44:08

yaroslav
Участник
Здесь с 2011-12-28
Сообщений: 5
Рейтинг :   

Re: Капча от captcha.ru

разобрался сам
хром глючил ))

а как её сделать обновляемой при регистрации

Вне форума

#13 2015-06-15 13:20:15

miktor
Участник
Здесь с 2015-06-11
Сообщений: 21
Рейтинг :   

Re: Капча от captcha.ru

Wolverine пишет:

Хотя нет, я не до конца прочувствовал всю логику. Можно сделать проще.

if($_REQUEST[session_name()]){
    $_SESSION['captcha'] = $captcha->getKeyString();
}

заменить на

if($_REQUEST[session_name()]){
    $_SESSION['captcha'] = $captcha->getKeyString();
    if($_REQUEST['id']) $_SESSION['captcha.'.$_REQUEST['id']] = $captcha->getKeyString();
}

не работает. постоянно пишет, что неверный код.

Вне форума

#14 2017-08-17 16:54:34

murmurishka
Участник
Здесь с 2012-01-01
Сообщений: 79
Рейтинг :   

Re: Капча от captcha.ru

Подниму еще раз тему - постоянно вылазит что код неверен.
Делал рекомендованные здесь приемы.

Сюда - продублировал.
Полное описание здесь: http://ngcms.ru/forum/viewtopic.php?pid=43400#p43400

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.038 сек, 7 запросов выполнено - Использовано памяти: 579.85 Кбайт (Пик: 596.85 Кбайт) ]