Разрабатываю веб-сервис, который будет предоставлять платные услуги. Т.к. детали раскрыть нет возможности, то условно будем считать что есть некая кнопка, доступ к которой нужно ограничить. Т.е. клиент может нажать бесплатно ее два раза (и получить услугу), но все последующие нажатия уже должны быть оплачены. Первый вопрос: как распознать тот факт, что клиент оплатил услугу, в случае если он не авторизован и не зарегистрирован в системе (регистрация не обязательна)? Я вижу только вариант с отправкой клиенту некоего кода, после оплаты, с помощью которого он сможет на сайте активировать кнопку (и добавить себе еще кликов). Второй вопрос: как вообще контролировать и считать нажатия кнопки клиентом? С помощью сессий/куков? Но ведь сессию можно сбросить. С помощью IP? А если IP динамический? Может кто подсказать как вообще реализуются такие вещи? Какие есть способы? Повторюсь, что речь идет не об авторизованном пользователе.
Такие вещи как раз делаются с помощью регистрации. По-другому никак нельзя точно определить пользователя. Добавлено спустя 3 минуты 36 секунд: Либо давать ему код, в базе хранить счётчик, сколько раз этот код использовался. Для удобства, чтобы не вводить код каждое нажатие кнопки, записывать счётчик в сессию. Смена айпи/смерть сессии - снова вводить код и создавать новую сессию.
Никак Добавлено спустя 4 минуты 34 секунды: Пытаются многие, все приходят к одному - это пустая затея. Айпи однозначно не катит т.к. из одного внешнего адреса выходят тысячи людей. Все уловки, связанные с идентификацией конкретного браузера проваливаются при простом "режиме инкогнито" - пользователю не понадобятся никакие хакерские знания.
Да, но с такими вещами лучше не шутить. Не думаю, что автор сможет представить адекватное решение по защите данных карты. Лучше уж тогда сделать простую регистрацию по номеру телефона.
Регистрация по номеру телефона наиболее оптимальна, но если есть смысл использовать сервис в масштабах, близких к промышленным, то это не спасает. У "профессионалов" целые пакеты симок и они очень окупаются при многократном использовании (каждый номер регится на множестве сервисов).