Форум с авторизацией
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
Форум с авторизацией
Скиньте пожалуйста ссылку на скрипт проверки автоматической регистрации на форуме.
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- Alex Keda
- стреляли...
- Сообщения: 35427
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
- dikens3
- подполковник
- Сообщения: 4856
- Зарегистрирован: 2006-09-06 16:24:08
- Откуда: Нижний Новгород
- Контактная информация:
-
- ефрейтор
- Сообщения: 53
- Зарегистрирован: 2007-02-20 0:06:30
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
Делюсь. для улучшения работы можно добавить цветные цифры которые вводить не надо, но мне пока не требуется.
этим рисуется картинка (шрифт arbat.ttf -можно любой самый корявый)
а тут сравнивается (можно как угодно сделать)
этим рисуется картинка (шрифт arbat.ttf -можно любой самый корявый)
Код: Выделить всё
bash-2.05b# cat number.php
<?php
session_start();
define('STEP',10);
define('XS',150);
$_SESSION['number'] = rand(1000,9999);
setcookie('reg_num',$_SESSION['number']);
$im = @ImageCreate(XS, 25) or die ("Cannot Initialize new GD image stream");
$background_color = ImageColorAllocate ($im, 255, 255, 255);
$text_color = ImageColorAllocate($im, 00, 0, 0);
ImageSetThickness($im, 1);
ImageRectangle($im,0,0,XS-1,24,$text_color);
for($j=-2; $j<imagesx($im)/STEP+1; $j++){
//$cur_points_y[] = -rand(0,STEP);
//$cur_points_x[] = rand($j*STEP+STEP/1.4,$j*STEP+STEP*1.4);
$last=0;
for($i=-2; $i<imagesy($im)/STEP+1; $i++)
{
$last = STEP*$i+rand(STEP/1.4,STEP*1.4);
$cur_points_y[] = $last;
$cur_points_x[] = rand($j*STEP+STEP/1.4,$j*STEP+STEP*1.4);
}
$cur_points_y[] = 25;
$cur_points_x[] = rand($j*STEP+STEP/1.4,$j*STEP+STEP*1.4);
for($i=1; $i<5; $i++)
{
ImageLine($im,$prev_points_x[$i], $prev_points_y[$i], $cur_points_x[$i], $cur_points_y[$i], $text_color);
ImageLine($im,$prev_points_x[$i-1], $prev_points_y[$i-1], $cur_points_x[$i], $cur_points_y[$i], $text_color);
ImageLine($im,$prev_points_x[$i], $prev_points_y[$i], $cur_points_x[$i-1], $cur_points_y[$i-1], $text_color);
}
unset($prev_points_x);
unset($prev_points_y);
$prev_points_x = $cur_points_x;
$prev_points_y = $cur_points_y;
unset($cur_points_x);
unset($cur_points_y);
}
$num = (string)$_SESSION['number'];
for($i = 0; $i < strlen($num); $i++)
{
$cipher = substr($num, $i, 1);
$psize = rand(imagesy($im)-8,imagesy($im)-3);
$angle = rand(0,10)-5;
$sizes = ImageTTFBBox($psize, $angle, "arbat.ttf", $cipher);
$width = $sizes[2]-$sizes[0];
$height = $sizes[1]-$sizes[7];
$dh = (23-$height)/2;
$px = (imagesx($im)/strlen($num))*$i+(imagesx($im)/strlen($num)-$width)/2;
$py = ($height+$dh+1)+rand(-$dh, $dh);
ImageTTFText ($im, $psize, $angle, $px, $py, $text_color, "arbat.ttf", $cipher);
}
ob_start();
ImagePng($im);
$content=ob_get_contents();
ob_end_flush();
Header("Accept-ranges: bytes");
Header("Content-length: ".strlen($content));
Header("Content-type: image/png");
echo $content;
?>
Код: Выделить всё
bash-2.05b# cat index.php
<?php
// Проверяем отправлена ли форма
$action = empty($_POST["number"]) ? false : true;
// Если нет, то выводим ее
if(!$action)
{
echo "<form action=\"index.php\" method=\"post\">";
echo "<input type=\"text\" name=\"number\">";
echo "<img alt=\"Введите цифры на картинке\" src=\"number.php\" border=\"0\"><br>";
echo "<input type=\"submit\" value=\"Run\">";
echo "</form>"; }
else {
// если да, то проверяем код
// если введены не цифры или цифры
// и буквы, то выдаем сообщение
if(!is_numeric($_POST["number"]))
{ die("Неправильный формат кода!"); }
// Проверка на правильность кода
if($_COOKIE['reg_num']!==$_POST["number"])
{
// Если не правильный
echo "Код не совпадает!";
}
else
{ // Если правильный
echo "Код правильный!"; }
}
?>
- Urgor
- лейтенант
- Сообщения: 668
- Зарегистрирован: 2006-03-14 16:30:18
- Откуда: Гилея (СПб)
- Контактная информация:
Т.е. теперь даже не надо OCR делать, достаточно код из куки достать.... Эххх, и почему рапида до такого не додумалась?if($_COOKIE['reg_num']!==$_POST["number"])

Вот нашел интересную ссылочку мегасцылка
Власть в руках у чужаков, и ты им платишь дань...
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва
- Urgor
- лейтенант
- Сообщения: 668
- Зарегистрирован: 2006-03-14 16:30:18
- Откуда: Гилея (СПб)
- Контактная информация:
Код: Выделить всё
<?php
session_start();
Генерим фразу, картинку....
$_SESSION['captcha'] = $captcha;
?>
Код: Выделить всё
<?php
session_start();
if (isset($_POST['captcha']) &&
$_POST['captcha'] == $_SESSION['captcha'])
{
// пускаем
}
else {
// не пускаем
}
?>
Власть в руках у чужаков, и ты им платишь дань...
-
- ст. сержант
- Сообщения: 383
- Зарегистрирован: 2006-12-15 17:09:14
- Откуда: Москва