предел кликов по php - PullRequest
       12

предел кликов по php

0 голосов
/ 01 ноября 2011

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

Этот код находится вверху каждой страницы, прежде чем он запрашивает данные из базы данных.

session_start(); 
$now = date('Y-m-d H:i:s', time());

if ($_SESSION['click'] > date("Y-m-d H:i:s", strtotime("$now - 1 second"))) { 
    exit("You're clicking too fast") ; 
    }

$_SESSION['click'] = $now; 

Ответы [ 2 ]

2 голосов
/ 01 ноября 2011

В основном это то же самое, но с меньшим количеством функций,

session_start();

$now = time();

if ($_SESSION['click'] > ($now-1)) { 
    exit("You're clicking too fast") ; 
}

$_SESSION['click'] = $now;

1 голос
/ 01 ноября 2011

Я бы сказал, что это приемлемый способ быстрого обновления страницы от НОРМАЛЬНЫХ ЛИЦ.Боты выбросят cookie-файл сессии и оставят вашу проверку бесполезной.

Проверка IP-адреса не является альтернативой, поскольку ваши пользователи могут использовать сайт из сети и / или общедоступного IP-адреса, который используется несколькими компьютерами.Примеры: университеты, школы, рабочее место (да, верно), AOL (AOL использует прокси!)

Хотя ваш код может быть уточнен:

session_start(); 
$now = time();

if ($_SESSION['click'] > ($now - 1)) { 
    exit("You're clicking too fast") ; end(); 
    }

$_SESSION['click'] = $now;
...