Задать вопрос

Как логически организовать защиту от удаления чужих записей?

Привет!

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

Текущий пример-
Есть регистрация пользователей. У каждого есть свои записи в админке. Все сохранено в базе данных
Есть кнопка удаление записи.

Технически удаление записи происходит так:
JS скрипт берет ID удаляемой записи из верстки и отправляет его с помощью POST в PHP файл без перезагрузки страницы. Запись удалена.

Как можно "напакостить":
- В верстке вручную ставим любой ID записи и нажимаем удалить. И чужая запись удалена.
- Если сделать проверку ID пользователя + ID записи, совпадает = удаление. НО можно просто брутом через POST прогнать каждый ID пользователя и по 1000 записей по порядку. В итоге все равно будет попадание и записи удалятся.

Если придумывать генерацию пользователям и записям уникальные скрытые ключи и делать проверку на совпадение?

Однако, если пользователей сто тысяч, то наверняка будут совпадения в генераторе ключей и возникнет конфликт
Как обычно организовывают такие связи?

Мне бы просто логически понять.
В таких делах новичок.
  • Вопрос задан
  • 256 просмотров
Подписаться 3 Средний Комментировать
Решение пользователя dpws К ответам на вопрос (5)
@dpws
У Вас на бэкэнде пользователь остаётся залогинен даже при POST запросах из JS. В запросах на удаление указывайте только ID удаляемой записи. При его обработке, на бэке, смотрите по залогиненому пользователю, принадлежит ли ему удаляемая запись. Если да - удаляйте, нет - возвращайте сообщение об ошибке.
Ответ написан