PHP Таймер безопасности - PullRequest
       5

PHP Таймер безопасности

0 голосов
/ 27 октября 2010

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

Я выяснил, как сделать обратный отсчет таймера из правильного значения в базе данных sql, но мне еще предстоит выяснить, как сделать его защищенным.

Какой самый эффективный способ обнаружения при раннем нажатии?

Ответы [ 3 ]

0 голосов
/ 27 октября 2010

Я с Playcat на этом.

При первом нажатии сохранить время в базе данных.На втором клике выберите первый клик;Проверьте, если сейчас - firstclick

ЕСЛИ так, чтобы пользователь не ждал достаточно долго, верните false. ELSE верните true и обновите firstclick to currenttime.

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

0 голосов
/ 27 октября 2010

Вы можете либо извлечь всю запись и сравнить ее с помощью PHP, либо выполнить команду SQL, проверяя ее.Предполагая, что MySQL:

SELECT IF(COUNT(id), 1, 0) AS allowed FROM some_table
WHERE NOW() > DATE_ADD(timestampCol, INTERVAL 5 MINUTE) AND user_id = :userid;

http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-add

Не уверен, что это имеет отношение к "безопасности", как это обычно называют.Если ваш вопрос «как защитить приложение», вопрос слишком широкий для быстрого ответа.Если ваш вопрос «как убедиться, что это работает», то это путь.

0 голосов
/ 27 октября 2010

Хм, когда пользователь щелкает, вы записываете время (время сервера), вычитаете значение из БД и смотрите, не меньше ли оно установленного значения.

Может быть, вы должны предоставить более подробную информацию ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...