На момент написания статьи меня спросили — как сделать каптчу при входе. Я не стал лазить по просторам интернета в поисках оптимального варианта и слепил нечто подобное на каптчу на скорую руку.На момент написания статьи меня спросили — как сделать каптчу при входе. Я не стал лазить по просторам интернета в поисках оптимального варианта и слепил нечто подобное на каптчу на скорую руку.
Вот то, что видите на скрине — делаем сами. Следуем инструкции по установке и всё получится.
1. Самое важное — сделать проверку введённого кода. Открываем login.php и ищем:
$password=uc($_POST['password']);
Следом добавим код:
$pr=$_POST['pr'];
if ($captcha==NULL)
{
echo "<img src="images/error.png" align="middle"> Введите код с картинки!";
if ($captcha == $pr)
{
Теперь в самом конце ищем код:
}
}
}
}else{
include('header.php');
?>
Заменяем его новым:
}
}
}
}else{
echo "<img src="images/error.png" align="middle"> Неверный код!";
}
}
}else{
include('header.php');
?>
Далее ищем код:
<fieldset>
<div id="fieldheader"><center>.::Вход в аккаунт::.</center></div>
<br>
<form action='login.php' method='POST'>
<table width="100%" border="0" align="center">
<tr>
<td width="40%" align="right">
<label>Логин</label></p></td>
<td width="60%" align="left"><input type='text' size='15' maxlength='25' name='username' autocomplete="off" value="" tabindex="1" /></td>
</tr>
<tr>
<td width="40%" align="right">
<label>Пароль</label></p></td>
<td width="60%" align="left"><input type='password' size='15' maxlength='25' name='password' autocomplete="off" value="" tabindex="2" /></td>
</tr>
<tr>
<td colspan=2 align="center"><input type="submit" value="Войти" class="submit" tabindex="4" /></td>
</tr>
</table>
</form>
</fieldset>
</div></div>
Заменим его на:
<center>
<b><font size: 16px><form action='login.php' method='POST'>
<table style=";width:200px;"><tbody><tr><td style="vertical-align:top"><img src="/login.png"></td>
<td style="vertical-align:top">
<label>Логин</label>
<input type='text' size='15' maxlength='25' name='username' autocomplete="off" value="" tabindex="1" />
<label>Пароль</label>
<input type='password' size='15' maxlength='25' name='password' autocomplete="off" value="" tabindex="2" /></td>
<tr><td colspan="2" style="vertical-align:top" align="center">
<?php
$i=1;
do
{
$num[$i] = mt_rand(0,9);
echo "<img src='img/".$num[$i].".gif' border='0' align='bottom' vspace='5px'>";
$i++;
}
while ($i<5);
$captcha = $num[1].$num[2].$num[3].$num[4];
?><input name="captcha" type="hidden" value="<?php echo $captcha;?>">
<input name="pr" style=" margin-bottom:11px" type="text" size="6" maxlength="4"><br>
<input type="submit" value="Войти" size="25" class="submit" tabindex="4" />
</td></tr></tbody></table>
</form></font></b> </fieldset>
С файлом login.php покончено. Теперь нам надо вывести форму входа на всех страницах сайта.
2. Открываем menuright.php и находим строки:
}else{
echo "<center><a href="register.php?r=".$elref."">Регистрация</a><br>";
echo "<a href="login.php?r=".$elref."">Вход</a><br></center>";
}
?>
Меняем их на новые:
}else{
include('vhod.php');
}
?>
3. Необходимо сделать так, чтобы расстояние между цифрами каптчи исчезло. Открываем style.css и находим:
padding: 4px;
}
Меняем 4px на 0px
Если используете скрипт с сменой цвета блоков — меняете во всех файлах в папке css.
Вот и всё. Осталось залить файлы с архива в корень.
Отправить комментарий
Вы должны быть зарегистрированы чтобы оставить комментарий.
Вы должны быть зарегистрированы чтобы оставить комментарий.