Защита от слишком частого открытия страниц

H
На сайте с 17.02.2009
Offline
50
951

Привет всем

У меня вопрос, на многих сайтах я видел(например вконтакте), когда часто открываешь или обновляешь страницы, появляется окошко ввода каптчи, как сделать такую проверку на частое открытие страниц?

F
На сайте с 16.01.2010
Offline
267
#1

А что это ВАМ даст?

[Удален]
#2

Это даст уменьшение нагрузки на сервер и увеличение времени на разворовывание контента.

Пишите в сессии time() последнего обращения; считайте время от прошлого обращения до текущего, при цифре меньше заданной, считайте счетчик "двойных кликов" плюс инфу юзеру с просьбой не делать двойных кликов; по достижению критической цифры нафиг капчу, в эйчтиакцесс и досвидания.

MD
На сайте с 11.04.2010
Offline
22
#3

это даст лишний геморой для пользователей и поисковых систем. Не более

H
На сайте с 17.02.2009
Offline
50
#4

Спасибо, сделал вот так простенько, есть ли замечания?


<?
if($_SESSION["last_query_time"])
{
$time_btw = time() - $_SESSION["last_query_time"];
if($time_btw <= $min_btw_open)
{
$_SESSION["clicks_counter"] = $_SESSION["clicks_counter"] + 1;
}
$_SESSION["last_query_time"] = time();
}
else
{
$_SESSION["last_query_time"] = time();
}

if($_SESSION["clicks_counter"])
{
if($_SESSION["clicks_counter"] >= $clicks_counter)
{
if(count($_POST)>0){
if(isset($_SESSION['captcha_keystring']) && $_SESSION['captcha_keystring'] == $_POST['keystring']){
unset($_SESSION["clicks_counter"]);
unset($_SESSION['captcha_keystring']);
}else
{
echo "Вы ввели неправильный код";
unset($_SESSION['captcha_keystring']);
}

}else
{

echo'<form action="" method="post">
<p>Вы подозреваетесь в автоматическом управлении, введите код:</p>
<p><img src="modules/captcha/?<?php echo session_name()?>=<?php echo session_id()?>"></p>
<p><input type="text" name="keystring"></p>
<p><input type="submit" value="Отправить"></p>
</form>';
die;
}
}
}
?>
dvaes
На сайте с 03.09.2007
Offline
65
#5

пф. фигня

с чего вы взяли, что будет передаваться идентификатор сессии? ну сделаете вы это для обычных пользователей, а любой граббер это легко обойдет. так в чем смысл?

AS
На сайте с 21.09.2007
Offline
167
#6
Hippey:
Привет всем

У меня вопрос, на многих сайтах я видел(например вконтакте), когда часто открываешь или обновляешь страницы, появляется окошко ввода каптчи, как сделать такую проверку на частое открытие страниц?

Ну так раздели пользователей сначала на 2 группы как в контакте - те кто активировал СМСом и те кто НЕТ ) и всем кто нет -ВЫДАВАЙ КАПЧУ

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий