авторизация — предотвращение редактирования поля с использованием PHP-сессии

Является ли хорошей идеей / хорошей практикой использование переменной сеанса PHP для защиты от редактирования пользователями скрытых / вводимых значений полей? Например, допустим, у меня есть следующие поля:

<input type="hidden" object_id="1" />
<input type="text" object_id="2" />
etc...

Мне нужно иметь object_id на внешнем интерфейсе, чтобы я мог сказать, какие записи базы данных необходимо манипулировать, когда пользователь отправляет (при условии, что они уполномочены действовать на данные). $_SESSION переменная будет выглядеть примерно так [obj_id = 1, obj_id = 2], Часть процесса авторизации гарантирует, что все записи, которые пользователь пытается выполнить, присутствуют в сеансе. Если есть некоторое расхождение (например, элемент с object_id="3") пользователь не авторизован.

Существуют ли решения, которые являются более широко принятыми или обычно достаточно чего-то подобного?

0

Решение

Как правило, вам все еще нужно доверять конечному пользователю, чтобы он предоставил вам правильные данные для изменения. Единственное, что вы можете проверить в этом контексте, — это то, что предоставленные значения выглядят как допустимые данные, которые нужно вставить в базу данных, и это, как правило, само задание базы данных, поскольку действительными данными является состояние таблицы базы данных, которое нужно определить.

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

Удачи

0

Другие решения

Других решений пока нет …