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

0

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

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

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

Теги:
timer
security
forms

3 ответа

0
Лучший ответ

Hm, когда пользователь нажимает, вы записываете время (время сервера), вычитаете значение из db и смотрите, меньше ли это установленного значения.

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

  • 0
    Я постараюсь дать как можно больше подробностей. Что бы вы хотели узнать?
  • 0
    Как вы «узнаете» пользователей? По cookie? Сессия? Или это зарегистрированный пользователь? Тем не менее, я думаю, что просто проверить, нажал ли пользователь на таймер, в этом случае вы просто вычитаете значения и определяете, можете ли вы принять щелчок или нет. Если это первый щелчок, просто сохраните значение и все.
Показать ещё 3 комментария
0

Вы можете извлечь всю запись и сравнить ее с помощью 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

Я с Playcat на этом.

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

IF, поэтому пользователь не подошел достаточно долго  return false ELSE возвращает true и обновляет firstclick до текущего времени.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню