2013-05-07 1 views
-1

У меня есть веб-страница (HTML, php, javascript) с некоторыми прямыми ссылками для скачивания. Я хотел бы заблокировать пользователей, которые нажимают на эти ссылки для скачивания за короткое время.Разработка «Вы слишком быстро загружаете файлы» на моей веб-странице

Я хотел бы что-то вроде этого: 1) нажмите на ссылку -> Прямая загрузка 2-а) нажмите на другую ссылку слишком быстро -> перенаправление на новую страницу с текстом «Пожалуйста, подождите немного перед загрузкой другой файл « 2-b) нажмите на другую ссылку после X-времени -> прямая загрузка

Пожалуйста, предложите мне, как это сделать (более простой метод, не нужен, чтобы быть« высокой степенью безопасности », чтобы ограничить случайную щелчки). Спасибо

+0

Только один вопрос: почему? –

+0

Если вы используете сеансы, храните в нем самое последнее время загрузки и когда приходит новый запрос, сравните его. Также вы можете отключить кнопки dl через js. – Ihsan

ответ

1

Если вы используете sessions, то «сохранить последнее время загрузки в него» способ:

$limit = 3; // seconds 
$now = time(); 
$last = isset($_SESSION['download-stamp']) ? $_SESSION['download-stamp'] : 0; 

if($now - $last < $limit){ 
    header('Location: wait.html'); 
    exit; 
} 

$_SESSION['download-stamp'] = $now; 

// flush file 
+0

Спасибо! Я не знаком с сессиями PHP, но это кажется хорошим решением. – mattewre

1
  1. идентифицировать пользователя каким-то образом (например, с помощью куки (могут быть удалены) или их IP адрес (может быть совместно более пользователей)).
  2. Лог загрузка в базе данных против метки времени
  3. COUNT(*) from downloads WHERE identifier=? and timestamp <= ?
0

Вы можете проверить время с JavaScript, когда пользователь нажимает на ссылку для загрузки и сравнить его с заданной продолжительностью. Если превышение продолжительности больше, перенаправление на страницу или предупреждение некоторой информации.

+0

Это легко обойти, так как это JavaScript. –

+0

@BartFriederichs Это может быть так, но вопрос указывает, что «не нужно быть« высокой степенью безопасности »один [решение], просто чтобы ограничить случайные клики» – thefrontender

+0

Которое можно легко подделать .... – Ihsan

Смежные вопросы