@jrborisov

Как запретить выполнение однотипных действий на php?

В чем собственно суть, на сайте можно ставить лайки, при нажатии сохраняется результат в бд и уже второй не поставишь, можно только убрать, но если выполнить команду цеклически, допустим в командной строке js или как то пост запросами то лайков можно накрутить 1000-n.
  • Вопрос задан
  • 155 просмотров
Решения вопроса 1
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
После того, как отправлен запрос на попытку смены состояния счетчика голосов (+1 или -1):
1. Проверить последнее действие в серверной сессии: если последнее действие в серверной сессии установка голоса (+1) - тогда в базе не проверяем и ничего не делаем дальше.
2. Иначе, проверяем наличие ip в базе данных
3. если ip отсутствует - прибавить 1-цу к количеству голосов, иначе - ничего не делать

Если нужна возможность УБРАТЬ СВОЙ ГОЛОС - то порядок обратный, с той же логикой:
1. Проверить последнее действие в серверной сессии: если последнее действие в серверной сессии снятие голоса (-1) - тогда в базе не проверяем и ничего не делаем дальше.
2. Иначе, проверяем наличие ip в базе данных
3. если ip присутствует - отнять 1-цу от количества голосов, иначе - ничего не делать
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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