• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Модуль PaPa Captcha 1.0 BETA новый тип катчи

Статус
В этой теме нельзя размещать новые ответы.
Очень полезный мод. Стоит наверное потом себе базовую сборку ща замутить сразу. Ну что бы 100 модов неставить и всё. А что бы была одна установка и с нужным набором нужных модулей.
;)

Я тож хотел так сделать и сделать толково чтобы все ровно стояло

Добавлено через 25 секунд
Отличный мод, огромный респект автору. Но есть пару "но" ;)

Это если не верно выбрать. Думаю следовало бы заменить на что-то другое.
Картинки растягивают дизайн, как никак смотриться ну неочень. Было бы не плохо по нажатии кнопки "submit" - всплывающее окошко и в нем уже выбирать.

Это бета в 1.1 будет все норм.

Добавлено через 4 минуты
Для тех кто спамом занимается через проги жопа теперь полная, попробуй ко всем картинкам названия повписывать.
Сколько картинок в базе????

В этой версии можно задать 1 вопрос и залить столько картинок сколько хочеш

В версии 1.1 можно будет создавать неограничено вопросов и неограничено картинок к каждому
 
Читал про взлом таких и подобных каптч (не помню где)... писали, что перенастроить (добвить) картинок человеку (усложнить задачу боту) сложнее, чем боту перебрать все возможные варианты :D картинки то одни и те же...
имхо... родная капча DLE лучше... OCR её почти не берёт совсем... а сервисом, где школьники вводят и это обойдут...
з.ы. поживём увидим... имхо...
 
Да, перебрать действительно будет легче. Так как распознавать людей и т.д объекты слишком трудоемко и очень сложно (вопрос же может быть любой).

bumer3, реализуй, чтобы если капча ввелаь три раза подряд не верно, чтобы тормозило на N-ое количество секунд, настраевамое в админке. Ну и чтобы, при этом менялся сразу же вопрос.
 
На фул версию будет меньше это шоб народ посмотрел и не ушло по руком на лево и на право
 
  • Заблокирован
  • #15
в Explorer все картинки становятся в ряд и их нельзя выбрать.. тоесть в нем хак не работает!

Почему?

во всех браузерах код работает, но как всегда только в тупом Explorer'е не работает!
 
буду править. тупой ИЕ ненавижу :(
 
Все пофиксил баг с отмечанием в ИЕ: обновить файл engine/classes/papacatcha.php

PHP:
<?php

function papa_captcha_show()
{
	global $db, $config;
	$allnum = $config['ppcap_imnum'];
	$realnum = $config['ppcap_imrealnum'];
	$unrealnum = $allnum - $realnum;
	
	$db->query("SELECT * FROM " . PREFIX . "_ppcaptcha WHERE `real`='yes' ORDER BY rand() LIMIT ".$realnum);
	while($tmp = $db->get_row())
	{
		$images[] = $tmp;
	}
	$db->query("SELECT * FROM " . PREFIX . "_ppcaptcha WHERE `real`='no' ORDER BY rand() LIMIT ".$unrealnum);
	while($tmp = $db->get_row())
	{
		$images[] = $tmp;
	}
	shuffle($images);
	// Создаем уникальный javascript для вывода каптчи
	$nnnnnn = "\n";
	$css .= "<style>
.papacaptcha a img 
{
	border:solid;
	border-color:#999;
	border-width:4px;
	
		
}
.papacaptcha a img.selected
{
	border:solid;
	border-color:#F00;
	border-width:4px;
	
		
}
</style>
<script>
function cmnSet_class( eOn, sClass_name, sInstead ){
	if( eOn ){
		sClass_name = ( sClass_name.length ) ? sClass_name.replace( /(^\s+|\s+$)/, \"\" ) : \"\";
		if( eOn.className.length ){
			var sOld = sClass_name;
			if( sInstead && sInstead.length ){
				sInstead = sInstead.replace( /\s+(\S)/g, \"|$1\" );
				if( sOld ){
					sOld += \"|\";
				}
				sOld += sInstead;
			}
			eOn.className = eOn.className.replace( new RegExp(\"(^|\\s+)(\" + sOld +\")($|\\s+)\", \"g\"), \"$1\" );
		}
		eOn.className += ( eOn.className.length && sClass_name ? \" \" : \"\" ) + sClass_name;
	}
}

</script>
";
	$code .= "<script>".$nnnnnn;
	$code .= "var images = new Array();".$nnnnnn;
	$code .= "var imagessel = new Array();var ppcc;".$nnnnnn;
	$i = 0;
	while($i<$allnum)
	{
		$id = $images[$i][id];
		$code .= "images[{$i}]='{$id}';".$nnnnnn;
		$code .= "imagessel[{$i}]='';".$nnnnnn;
		$ppcfun .= "if(imagessel[{$i}]==1) ppcc = ppcc + images[{$i}] + ',';".$nnnnnn;
		$i = $i+1;
	}
	$code .= "function select_image(oImage){".$nnnnnn;
	$code .= "if(imagessel[oImage]!=1){".$nnnnnn;
	$code .= "imagessel[oImage] = 1;".$nnnnnn;
	$code .= "cmnSet_class(document.getElementById('ppc_'+oImage), 'selected','');}".$nnnnnn;
	$code .= "else{imagessel[oImage] = 0;cmnSet_class(document.getElementById('ppc_'+oImage), '','selected');}genppccode();}".$nnnnnn;
	$code .= "function genppccode(){ppcc='';".$ppcfun."document.getElementById('ppc_field').value = ppcc;}".$nnnnnn;
	$code .= "</script>";
	$htmlcode .= "<div class='papacaptcha'>";
	$htmlcode .= "Пожалуйста, ".$config['ppcap_q']."<br>";
	foreach($images as $key=>$value)
	{
		$htmlcode .= "<a onclick='select_image({$key})'><img src='/uploads/{$value[image]}' height=100 id='ppc_{$key}'></a>";
	}
	$htmlcode .= "<input type=hidden id=ppc_field name=ppc_field value=''></div>";
	//javascript готово, я его так не люблю
	return($css.$code.$htmlcode);
	
}

function papa_captcha_check($code)
{
	global $db, $config;
	$code = explode(",",$code);
	$d = count($code);
	unset($code[($d-1)]);
	$d = $d - 1;
	if($d<>$config['ppcap_imrealnum'])
		return false;
	$code = implode(", ", $code);
	
	$lal = $db->super_query("SELECT count(*) FROM " . PREFIX . "_ppcaptcha WHERE (`real`='yes' AND id IN ({$code}))");
	$lal = $lal['count(*)'];
	if($lal<>$config['ppcap_imrealnum'])
		return false;
	else
		return true;
}
    
?>

P.S> Модераторы, пожалуйста, добавте в шапку...
 
  • Заблокирован
  • #18
Желательно загружать картинки не в корень /uploads/ а скажем в /uploads/captcha/

Создай папку captcha ... и замени в engine\inc\papacaptcha.php и в engine\classes\papacaptcha.php

/uploads на /uploads/captcha

P.S. так кстати удобнее...
 
  • Заблокирован
  • #20
5. Открываем engine/modules/register.php

проверь, все ли правельно!?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху