Статья, которая поможет многим с защитой фрейма, а также и с его модернизацией.Итак, я вернулся из небытия и выкладываю статейку, которая поможет многим с защитой фрейма, а также и с его модернизацией.
1. Разработаем алгоритм:
а) Берутся случайные числа.
б) Нам нужно количество кнопок.
в) Определим позицию правильной кнопки.
г) \»Нарисуем\» число.
2. Осуществим алгоритм:
а) Дадим случайное значение правильной кнопке $valok=rand(20,99); //случайное число от 20 до 99
б) Зададим количество кнопок $butkol=6; //6 кнопок
в) Зададим номер позиции $goodbut = rand(1,$butkol); //наша \»хорошая\» кнопка будет стоять на случайном месте от первого до последнего.
г) Нарисовать проблем не будет.
Теперь давайте объединим в кусок кода и всунем в наш скрипт:
{
?>
<span style="vertical-align: middle;">
<form method="post" action="vls.php?view=ok&ds=clicked" style="padding-top: 5px; vertical-align: middle;">
<img src="captcha.php" align="middle"> <input type=text value='' size=10 maxlength=3 name="captcha">
<input type="submit" value="Подтвердить просмотр">
</form>
</span>
<?
mysql_close($con);
exit();
}
На уже готовый:
{ //3
$butkol = 6;
$goodbut = rand(1,$butkol);
$valok = rand(20,99)
?><table><td><fieldset><b>Выберите число: </b><img src="typetext.php?text=<?=$valok?>&size=20" align="absmiddle"></fieldset></td><?
for($i = 1; $i <= $butkol; $i++)
{
$val = rand(20,99);
if($i == $goodbut)
{
$_SESSION["itog"] = $valok;
$val = $valok;
}
?><td><form action="vls.php?view=ok&ds=clicked" method="POST"><input type="hidden" name="captcha" value="<?=$val?>"><input type="submit" value="<?=$val?>"></form></td>
<?
}
/*закончилась))0_о*/
?></table>
<? exit();
}
И выше кусок:
{
$captcha=$_POST["captcha"];
$ver=$_SESSION["captcha"];
}
Замените на:
{
$captcha=$_POST["captcha"];
$ver=$_SESSION["itog"];
}
Итак. Мы получили каптчу \»выбор цифры\». Саму цифру мы нарисовали шрифтом, каким у нас написано название сайта. Но, чтобы каптча помещалась и не прокручивалась надо открыть view.php и в строке:
Сменить высоту фрейма с 31 на 58. Думаю, будет достаточно.
Перенося статью, я не мог не заметить уязвимости в открытом коде. Немного поразмыслив даю подсказку, как сделать его более защищённым.
Вернёмся к уже отредактированному success.php
Находим:
{
$_SESSION["itog"] = $valok;
$val = $valok;
}
Следом вставляем:
Далее выше находим:
Заменяем на:
Пробуйте.
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.