Как ограничить повторные действия пользователя (через сессию, IP или еще что-то)?

Разрабатываю веб-сервис, который будет предоставлять платные услуги. Т.к. детали раскрыть нет возможности, то условно будем считать что есть некая кнопка, доступ к которой нужно ограничить. Т.е. клиент может нажать бесплатно ее два раза (и получить услугу), но все последующие нажатия уже должны быть оплачены.
Первый вопрос: как распознать тот факт, что клиент оплатил услугу, в случае если он не авторизован и не зарегистрирован в системе (регистрация не обязательна)? Я вижу только вариант с отправкой клиенту некоего кода, после оплаты, с помощью которого он сможет на сайте активировать кнопку (и добавить себе еще кликов).
Второй вопрос: как вообще контролировать и считать нажатия кнопки клиентом? С помощью сессий/куков? Но ведь сессию можно сбросить. С помощью IP? А если IP динамический? Может кто подсказать как вообще реализуются такие вещи? Какие есть способы?
Повторюсь, что речь идет не об авторизованном пользователе.
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 1
@IceJOKER
Web/Android developer
Пришла одна идея пока читал - после ввода кода(после оплаты), в сессию или в куки записываете факт оплаты(какой-то хеш) + после нажатия тоже генерируете какой-нибудь хеш , после второго нажатия проверяете был ли сгенерирован хеш предыдущего шага и если был, то удаляете данные.
В таком случае это уже в интересах пользователя не сбрасывать ничего, потому что после сброса он потеряет факт оплаты.

А в любых других случаях , как вы и описали, пользователь сможет сбросить данные
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы