Итак, я вернулся из небытия и выкладываю статейку, которая поможет многим с защитой фрейма, а также и с его модернизацией.
1. Разработаем алгоритм:
а) Берутся случайные числа.
б) Нам нужно количество кнопок.
в) Определим позицию правильной кнопки.
г) \"Нарисуем\" число.
2. Осуществим алгоритм:
а) Дадим случайное значение правильной кнопке $valok=rand(20,99); //случайное число от 20 до 99
б) Зададим количество кнопок $butkol=6; //6 кнопок
в) Зададим номер позиции $goodbut = rand(1,$butkol); //наша \"хорошая\" кнопка будет стоять на случайном месте от первого до последнего.
г) Нарисовать проблем не будет.
Теперь давайте объединим в кусок кода и всунем в наш скрипт:
На уже готовый:
И выше кусок:
Замените на:
Итак. Мы получили каптчу \"выбор цифры\". Саму цифру мы нарисовали шрифтом, каким у нас написано название сайта. Но, чтобы каптча помещалась и не прокручивалась надо открыть view.php и в строке:
Сменить высоту фрейма с 31 на 58. Думаю, будет достаточно.
Перенося статью, я не мог не заметить уязвимости в открытом коде. Немного поразмыслив даю подсказку, как сделать его более защищённым.
Вернёмся к уже отредактированному success.php
Находим:
Следом вставляем:
Далее выше находим:
Заменяем на:
Пробуйте.
1. Разработаем алгоритм:
а) Берутся случайные числа.
б) Нам нужно количество кнопок.
в) Определим позицию правильной кнопки.
г) \"Нарисуем\" число.
2. Осуществим алгоритм:
а) Дадим случайное значение правильной кнопке $valok=rand(20,99); //случайное число от 20 до 99
б) Зададим количество кнопок $butkol=6; //6 кнопок
в) Зададим номер позиции $goodbut = rand(1,$butkol); //наша \"хорошая\" кнопка будет стоять на случайном месте от первого до последнего.
г) Нарисовать проблем не будет.
Теперь давайте объединим в кусок кода и всунем в наш скрипт:
if($res["dopsec"]=='2')
{
?>
<?
mysql_close($con);
exit();
}
{
?>
<?
mysql_close($con);
exit();
}
На уже готовый:
if($res["dopsec"]=='2')
{ //3
$butkol = 6;
$goodbut = rand(1,$butkol);
$valok = rand(20,99)
?>Выберите число:
<?
for($i = 1; $i <= $butkol; $i++)
{
$val = rand(20,99);
if($i == $goodbut)
{
$_SESSION["itog"] = $valok;
$val = $valok;
}
?>
<?
}
/*закончилась))0_о*/
?>
<? exit();
}
{ //3
$butkol = 6;
$goodbut = rand(1,$butkol);
$valok = rand(20,99)
?>Выберите число:
for($i = 1; $i <= $butkol; $i++)
{
$val = rand(20,99);
if($i == $goodbut)
{
$_SESSION["itog"] = $valok;
$val = $valok;
}
?>
<?
}
/*закончилась))0_о*/
?>
<? exit();
}
И выше кусок:
if($res["dopsec"]=='2')
{
$captcha=$_POST["captcha"];
$ver=$_SESSION["captcha"];
}
{
$captcha=$_POST["captcha"];
$ver=$_SESSION["captcha"];
}
Замените на:
if($res["dopsec"]=='2')
{
$captcha=$_POST["captcha"];
$ver=$_SESSION["itog"];
}
{
$captcha=$_POST["captcha"];
$ver=$_SESSION["itog"];
}
Итак. Мы получили каптчу \"выбор цифры\". Саму цифру мы нарисовали шрифтом, каким у нас написано название сайта. Но, чтобы каптча помещалась и не прокручивалась надо открыть view.php и в строке:
Сменить высоту фрейма с 31 на 58. Думаю, будет достаточно.
Перенося статью, я не мог не заметить уязвимости в открытом коде. Немного поразмыслив даю подсказку, как сделать его более защищённым.
Вернёмся к уже отредактированному success.php
Находим:
if($i == $goodbut)
{
$_SESSION["itog"] = $valok;
$val = $valok;
}
{
$_SESSION["itog"] = $valok;
$val = $valok;
}
Следом вставляем:
$val=md5($val);
Далее выше находим:
$ver=$_SESSION["itog"];
Заменяем на:
$ver=md5($_SESSION["itog"]);
Пробуйте.
5 комментарии
0 загрузки
Детали
- Первый релиз 22 фев 2011
- Последнее обновление 03 авг 2026
- Документация Есть
- Содержимое файлов Исходные файлы
- Всего товаров 203
- Рейтинг (0)
- Регистрация 19 фев 2011
- Уровень 0
- Пользователь подтверждён Да
- Телефон подтверждён Нет
- Email подтверждён Нет

bi333on
- 24 окт 2012как избавиться от длинных цифро-числовых значений в самих кнопках, кто нить подскажет?
Green-wm
- 26 авг 2011Дорогой мой, а этот файл у всех может быть разным.
Metallist95
- 25 авг 2011не легче было файл кинуть, чтобы не париться в написании и не парить других?
rusip
- 02 апр 2011На кнопках вместо цифр- длинная вереница разных символов. И каптча (цифра) не помещается.
boni
- 23 мар 2011кто ставил - отпишитесь плиз...