У меня просто была эта мысль, я не знаю, являюсь ли я медленным все же.
Обычно, я храню идентификатор объекта, который я редактирую в скрытом поле. Затем в бэкенде (я использую Платформу PHP/Zend btw), я заставляю ее определять, какой объект редактируется. Но затем я думал, в чем-то более безопасном, например, изменил профиль, пользователь может так или иначе отредактировать скрытое право поля? Затем он может изменить чужой профиль. Я знаю для, изменяют профиль, я могу добраться, идентификатор формируют переменную сеанса, но что, если я получил что-то, что требует, чтобы я сохранил идентификатор где-нибудь?
Я получил ACL (Zend_Acl), я делаю это. В основном захватите идентификатор от параметрических усилителей запроса
$id = $req->getParam('id');
затем проверьте, разрешают ли зарегистрированному пользователю отредактировать объект. Но вещь, интересно, является ли URL чем-то как /users/edit/1
где 1 идентификатор. Но так или иначе, скрытое поле изменяется на 2, каков параметрический усилитель запроса будет?
Как Вы имели бы дело с этим?
Вы должны сохранить какой-то идентификатор на клиенте, иначе как вы узнаете, какой элемент редактировать?
Это не освобождает вас от обязательной проверки на сервере того, есть ли у текущего пользователя права на редактирование / просмотр отредактированного элемента.
В остальном, зачем вам все равно, как ему удалось отредактировать элемент (будь то законное использование веб-инструмента или редактирование скрытого / любого поля).
Хранение ID в скрытом значении не совсем безопасно. Обычно мы храним ID в переменной сессии.
как сказал ppshein, хранение конфиденциальных идентификаторов в скрытой переменной НЕ безопасно. Вы бы сохранили пароль в скрытой переменной? Получить эти данные действительно легко даже для начинающего хакера.
Вы должны убедиться, что все управление доступом осуществляется сервером.
в вашем случае необходимо убедиться, что пользователь, вошедший в систему (тот, который находится в сеансе), является владельцем редактируемого профиля. Или что пользователь, который вносит изменения, имеет разрешения на редактирование этого профиля (например, является администратором)
Оно не должно основываться на данных, отправленных пользователем. Вы всегда должны проверять права пользователей на стороне сервера. Злоумышленник может подготовить любой запрос к вашему серверу.
Согласитесь со всеми пунктами выше, но если вам действительно нужно хранить что-то на стороне клиента по какой-либо причине, вы всегда можете зашифровать данные и расшифровать, когда вам это нужно, но опять же, использование сеансов будет быть лучшим способом справиться с этим, поскольку они недоступны на стороне клиента.