Помогите усложнить код капчи

you_too
На сайте с 28.06.2006
Offline
89
1514

Есть код капчи, но она очень простая (четыре буквы) и спамеры достали. Ну очень достали. Подскажите, что добавить в этот код, чтобы ее как-нибудь усложнить. Может искривить буквы или сетку наложить.

Админ в отпуске вот и надо пока самому побороть хотябы на 50% спамеров.

Заранее спасибо.

<?php

session_start();

function genPass ($length = 8)

{

$s = 'abcdefghijklmnopqrstuvwxyz';

for($i = 0; $i < $length; $i++)

$str .= $s{rand(0, strlen($s) - 1)};

return $str;

}

Header("Content-type: image/png");

$text = $_SESSION['pic_check'] = genPass(4);

$rgb = 00000000;

$idest = imagecreatetruecolor(39, 20);

$textcolor = imagecolorallocate($idest, 255,255,255);

imagefill($idest, 0, 0, $rgb);

imagestring($idest, 3, 9, 3, $text, $textcolor);

imagepng($idest);

imagedestroy($idest);

exit();

?>

Малютка на Tegra 2 - Trim-Slice (http://blog-youtoo.ru/?p=4277) | Стабильный денежный (bit.ly/o7GqGQ) поток
Dreammaker
На сайте с 20.04.2006
Offline
570
#1

посмотрите капчу с сайта http://captcha.ru может хватит знаний установить.

you_too
На сайте с 28.06.2006
Offline
89
#2

Да не хотел глобально все менять вернется человек сделает. Может кто подскажет, что добавить в существующий код. Обзовем его kcaptcha_check.php код файла приведен выше, ниже строка формы где он вызывается.

<td><input type="text" name="kcaptcha_check_field" value="">&nbsp;<img src="kcaptcha_check.php" border="0"/></td>

49
На сайте с 21.01.2008
Offline
182
#3

я на одном форуме видел обычную простую капчу, но знаки надо было написать задом наперед,

сам тока с третьего раза зарегился после того как прочел как надо вводить

p.s сделайте отложенную регистрацию пока админ отдыхает и все

S
На сайте с 19.03.2008
Offline
8
#4

Самый простой способ думаю это сделать картинку с неконтрастными цветами цвета фона и цвета шрифта.

$rgb = 00000000; - здесь задается цвет фона картинки (вообще то он 6 значный :), можете смело убрать 2 последних нуля)

$textcolor = imagecolorallocate($idest, 255,255,255); - здесь задается цвет самого шрифта в палитре RGB

Как варианты сделать плохочитаемый для бота и более менее читаемый для человека код:

1.серый текст на черном фоне

$rgb = 000000;

$textcolor = imagecolorallocate($idest, 78,78,78);

2. светлооранжевый на белом фоне

$rgb = ffffff;

$textcolor = imagecolorallocate($idest, 241,200,134);

А вообще то могли бы прикрутить капчу с captcha.ru, там несложно :)

AN
На сайте с 20.03.2006
Offline
70
#5

Очень простое решения, которое режет 95% ботов, если они под ваш сайт только специально не настроены.

1. Добавляете в форму скрытое текстовое поле.

2. Пишете простейший яваскрипт, которые заполнит это поле неким значением.

3. На сервере проверяете это поле - если оно не равно этому значениею - значит спам.

Практика показывает, что этот элементарный способ очень действенен.

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

V
На сайте с 24.03.2008
Offline
4
#6

Скачайте капчу с captcha.ru. Прямая ссылка на скрипт http://captcha.ru/kcaptcha.zip.

Пример использования:

<?php

session_start();

?>

<form action="" method="post">

<p>Enter text shown below:</p>

<p><img src="./?<?php echo session_name()?>=<?php echo session_id()?>"></p>

<p><input type="text" name="keystring"></p>

<p><input type="submit" value="Check"></p>

</form>

<?php

if(count($_POST)>0){

if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){

echo "Correct";

}else{

echo "Wrong";

}

}

unset($_SESSION['captcha_keystring']);

?>

Заработай на продаже ссылок (http://www.sape.ru/r.e859bdd607.php) со своего сайта. Отдых и путешествия (http://www.i-love-travel.ru).
RC
На сайте с 15.03.2008
Offline
48
#7

Писал для блога своего

http://rucoder.ru/2008/03/15/captcha/

Там каждая строчка почти с комментами, посмотри, что захочешь вытащи.

Блог (http://rucoder.ru) Сервис регистрации доменов (http://regclick.ru)
you_too
На сайте с 28.06.2006
Offline
89
#8

Спасибо всем ответившим. Вечерком покопаюсь.

you_too
На сайте с 28.06.2006
Offline
89
#9

Остановился на http://captcha.ru поставил все отлично работает.

Забыл просто сразу отписаться в ветке :)

hp_wtf
На сайте с 24.05.2006
Offline
39
#10

-- Удалено --

Заработай на дом (http://www.sape.ru/r.a731c522b8.php) и построй его (http://www.polarsip.ru/) :) Двигай статьями! (http://miralinks.ru/users/registration/from:1117)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий