Показать сообщение отдельно
  #1 (permalink)  
Старый 25.11.2021, 21:25
Кандидат Javascript-наук
Отправить личное сообщение для StartGames Посмотреть профиль Найти все сообщения от StartGames
 
Регистрация: 13.06.2014
Сообщений: 143

Система защиты от повторного нажатия
Здравствуйте. Вынужден снова обратиться к мудрецам данного форума. Нужна ваша помощь.

Предисловье:
У нас есть сайт, в нем присутствует личный кабинет пользователя. Чтобы попасть в него, нужно зарегистрироваться или авторизоваться. Это можно сделать путем авторизации по СМС или почтового адреса https://photo-screen.ru/i/5GeB2E0yp

Суть проблемы:
Но прошлой ночью недобросовестные люди специально слили весь бюджет на авторизацию по СМС. Они запрашивали код авторизации вводя рандомные телефонные номера. Система отправляла код авторизации на эти номера, при этом списывала деньги за каждое такое смс. Это длилось до того момента, пока счетчик средств не стал равен нулю.

Возможное решение:
Сначала я думал написать скрипт который будет записывать в куки количество кликов по кнопке АВТОРИЗАЦИЯ. Если кликов больше чем 5 за последние 24 часа, значит форму авторизации по СМС скрыть, а покупателя перенаправлять на страницу авторизации по почтовому ящику.

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

Я уже думал так, а не создать ли файлик в который будут записываться все айпишники которые кликнули по кнопке АВТОРИЗАЦИЯ за последние 24 часа. Настроить так, что клик по этой же кнопке будет сначала проверять есть ли в файлике текущий IP посетителя который делает клик по кнопке АВТОРИЗАЦИЯ. Если там есть 5 или больше записей этого IP за последние 24 часа, тогда просто перенаправлять его на страницу авторизации по емейлу. Можно также вывести сообщение что то типа - Вы исчерпали все попытки авторизоваться по СМС за сегодня. Авторизация по СМС будет доступна завтра. Сейчас вы будете перемещены на страницу авторизации по емейлу. Но это уже нюансы.

Также, подошло бы решение на php. Главное что основное событие это клик по кнопке <button id="login">АВТОРИЗАЦИЯ</button> И если этих кликов больше 5 за последние 24 часа - выполнить действие переадресации на другую страницу вместо появления окна авторизации по смс. Но я не знаю реально ли это сделать на js.

P.s.
Буду рад любым вашим идеям или решениям данной проблемы.

Последний раз редактировалось StartGames, 25.11.2021 в 21:29.
Ответить с цитированием