Я разрабатываю приложение и сталкиваюсь со следующей проблемой:
Пользователь приложения может иметь несколько проектов. Например, project01 и project01. URL для проекта: https://myApp.com/{projectid}.
Когда пользователь входит в систему и получает доступ к странице проекта, например https://myApp.com/project01, в форме появляется кнопка «Обновить проект» с методом = post action = https://myApp.com/project01.
Проблема: если я использую инспектор Браузера и изменил действие на https://myApp.com/project02 и нажму кнопку «Обновить проект», информация о project01 обновляет project02, поскольку оба проекта принадлежат одному и тому же пользователю.
В настоящее время я избегаю этой перекрестной отправки, проверяя на стороне сервера, совпадает ли реферер HTTP с текущим размещаемым URL. Однако я хотел бы знать, есть ли другие способы избежать этой проблемы.
Я также попытался выдать токены обновления, хранящиеся в качестве переменных сеанса, и проверить, активен ли токен для обновления, однако, если у пользователя одновременно открыты оба проекта в браузере и выполняется одно и то же редактирование с инспектором, я не могу контролировать перекрестная подача.