люди, кто знает хороший сервис который предоставляет капчи?
самому писать не хочется...
только так чтоб капчи были относительно простые и не "нудные".
recaptcha.net не предлогать, он слишком завороченный...
Спустя 1 минута, 9 секунд (8.03.2010 - 14:57) jetistyum написал(а):
ну вот, как раз рекаптчу и хотел предложить... чем же не понравилась ?
а вообще стоит погуглить ..
а вообще стоит погуглить ..
Спустя 10 минут, 34 секунды (8.03.2010 - 15:08) MatrixGod написал(а):
она выдает слишком длинные слова.
пользователей это злит!
пользователей это злит!
Спустя 33 секунды (8.03.2010 - 15:08) MatrixGod написал(а):
наших, русских капч никаких разве нет?
я гуглил но ничего не нашел...
я гуглил но ничего не нашел...
Спустя 24 минуты, 43 секунды (8.03.2010 - 15:33) Lenarfate написал(а):
держи!
еще создай папку fonts для шрифтов, клади туда любые
при подключении не забудь запустить сессию, и прописать условие типа
<?php
session_start();
$width = 100;
$height = 40;
$font_size = 12;
$let_amount = 5;
$back_let_amount = 30;
$path_fonts = 'fonts/';
$letters = array(
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'm',
'n', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y',
'z', '2', '3', '4', '5', '6', '7', '9'
);
$colors = array('10', '30', '50', '70', '90', '110',
'130', '150', '170', '190', '210'
);
$im = imagecreatetruecolor($width, $height);
$back = imagecolorallocate($im, 255, 255, 255);
imagefill($im, 0, 0, $back);
$fonts = array();
$dir = opendir($path_fonts);
while($font_name = readdir($dir))
{
if($font_name !='.' && $font_name != '..')
$fonts[] = $font_name;
}
closedir($dir);
for($i = 0; $i < $back_let_amount; $i++)
{
$color = imagecolorallocatealpha($im, rand(0, 255), rand(0, 255), rand(0, 255), 100);
$font = $path_fonts . $fonts[rand(0, sizeof($fonts) - 1)];
$letter = $letters[rand(0, sizeof($letters) - 1)];
$size = rand($font_size - 2, $font_size + 2);
imagettftext($im, $size, rand(0, 45), rand($width * 0.1, $width - $width * 0.1),
rand($height * 0.2 , $height), $color, $font, $letter);
}
for($i = 0; $i < $let_amount; $i++)
{
$color = imagecolorallocatealpha($im, $colors[rand(0, sizeof($colors) - 1)],
$colors[rand(0, sizeof($colors) - 1)],
$colors[rand(0, sizeof($colors) - 1)], rand(20, 40));
$font = $path_fonts . $fonts[rand(0, sizeof($fonts) - 1)];
$letter = $letters[rand(0, sizeof($letters) - 1)];
$size = rand($font_size * 2.1 - 2, $font_size * 2.1 + 2);
$x = ($i + 1) * $font_size + rand(4, 7);
$y = (($height * 2) / 3) + rand(0, 5);
$code[] = $letter;
imagettftext($im, $size, rand(0, 15), $x, $y, $color, $font, $letter);
}
$_SESSION['captcha'] = implode('', $code);
header('Content-type: image/gif');
imagegif($im);
imagedestroy($im);
еще создай папку fonts для шрифтов, клади туда любые
при подключении не забудь запустить сессию, и прописать условие типа
if($_SESSION['captcha'] !== strtolower($_POST['captcha']))
{
print 'код неверный';
}
Спустя 1 час, 5 минут, 10 секунд (8.03.2010 - 16:38) vital написал(а):
Охринеть. Удобная штука=) А кто автор?) Респект ему)
Спустя 3 минуты, 14 секунд (8.03.2010 - 16:41) Lenarfate написал(а):
Цитата |
А кто автор? |
не знаю, но симпатичная такая каптча
Спустя 6 дней, 1 час, 19 минут, 41 секунда (14.03.2010 - 18:01) dnk2009 написал(а):
не подскажите в чём дело. в php 5.2.x капча отображаеться.
а в 5.3.x нет
а в 5.3.x нет
Спустя 17 минут, 50 секунд (14.03.2010 - 18:19) Nikitian написал(а):
Включите ошибки, уберите header('Content-type: image/gif'); и узрите причину неработы. Если неясно, то копипастите ошибки сюда.
Спустя 1 день, 14 часов, 46 минут, 57 секунд (16.03.2010 - 09:06) NoCash написал(а):
а не подскажете как сделать проверку этой капчи с помощью javascript
Спустя 10 минут, 5 секунд (16.03.2010 - 09:16) Nikitian написал(а):
Ajax-запрос к бэкенду, который будет говорить, правильная каптча или нет. Хотя по идее, правильнее будет всё-таки посылать запрос полностью.
Спустя 41 минута, 34 секунды (16.03.2010 - 09:57) NoCash написал(а):
а можно чуточку по подробнее?
Спустя 19 минут (16.03.2010 - 10:16) Nikitian написал(а):
Подробнее тут
Спустя 2 часа, 3 минуты, 37 секунд (16.03.2010 - 12:20) DedMorozzz написал(а):
Цитата (NoCash @ 16.03.2010 - 08:06) |
а не подскажете как сделать проверку этой капчи с помощью javascript |
а если у меня отключён JS?
Спустя 21 минута, 56 секунд (16.03.2010 - 12:42) maxims написал(а):
правильно DedMorozzz, я бы не стал использовать JS для каких-то ключевых действий на сайте......
Спустя 21 минута, 50 секунд (16.03.2010 - 13:04) NoCash написал(а):
имеется такой код
ну и на сервере
вроде все хорошо работает но не так как нужно
подскажите как вывезти окошечко об ошибке что код введен не верно??
<script type="text/javascript" language="javascript">
var req = Create();
function ge(id)
{
return document.getElementById(id);
}
function Create(){
if(navigator.appName == "Microsoft Internet Explorer"){
req = new ActiveXObject("Microsoft.XMLHTTP");
}else{
req = new XMLHttpRequest();
}
return req;
}
function Request(query)
{
req.open('post', 'test1.php' , true );
req.onreadystatechange = Refresh;
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
req.send(query);
}
function Refresh()
{
if( req.readyState == 4 )
ge('ajax').innerHTML = req.responseText;
else
ge('ajax').innerHTML = '<img src="prel.gif" />';
}
}
function Pusk()
{
var query;
query ='txt='+encodeURIComponent(ge('myid').value);
Request(query);
}
</script>
ну и на сервере
<?php
error_reporting(E_ALL & ~E_NOTICE);
session_start();
?>
<?php
$txt= isset($_POST['txt'])?$_POST['txt']:NULL;
if ($txt != $_SESSION['code'])
echo 'kod neveren';
?>
вроде все хорошо работает но не так как нужно
подскажите как вывезти окошечко об ошибке что код введен не верно??
Спустя 13 минут, 31 секунда (16.03.2010 - 13:17) jetistyum написал(а):
это называется не подскажите, а напишите мне....
Спустя 16 часов, 15 минут, 1 секунда (17.03.2010 - 05:32) maxims написал(а):
Цитата (NoCash @ 16.03.2010 - 10:04) |
вроде все хорошо работает но не так как нужно |
как работает то? что выдаёт? как тебе нужно?
Спустя 1 час, 13 минут, 54 секунды (17.03.2010 - 06:46) Игорь_Vasinsky написал(а):
Цитата |
error_reporting(E_ALL & ~E_NOTICE); |
штука конечно оч удобная, но зачем использовать во время отладки скрипта?
може так
<?php
session_start();
if(isset($_SESSION['code']) && $_SESSION['code'] == $_POST['txt']){
echo "Правильно";
}
else{
echo "Не правильно";
}
unset($_SESSION['code']);
?>
Спустя 6 часов, 12 минут, 48 секунд (17.03.2010 - 12:59) qpayct написал(а):
сервис "помоги себе сам" - рекомендую