Мне было интересно, если кто-нибудь знает, может ли произойти следующий сценарий.
Предположим, я динамически сгенерировал форму с флажками для продуктов, специфичных для данного клиента. Если клиент установит флажки, продукты будут удалены при публикации формы. Флажки названы в честь productID.
Теперь мой обработчик проверит response.form и проанализирует productID, затем удалит продукт из базы данных на основе productID.
Возможно, кто-то может изменить сообщение, чтобы разрешить удаление других идентификаторов продуктов, возможно, всего в таблице продуктов, добавив поддельные имена флажков в POST?
Если это так, перед удалением было бы легко проверить, относится ли productID к аутентифицированному пользователю, и у него достаточно ролей для удаления или для создания одноразового номера, и пометьте флажки этим, а не идентификатором продукта, однако Я не делаю этого в данный момент. Любые указатели на лучшие практики для этого были бы хороши.
Я никогда не думал об этом раньше, и удивляюсь, сколько людей на самом деле делают это по умолчанию, или существует миллион веб-сайтов, которые могут быть уязвимыми?
Спасибо