我正在开发应用程序,但遇到以下问题:
应用程序的用户可以有多个项目。例如project01和project01。该项目的URL为https://myApp.com/ {projectid}。
例如,当用户登录并访问项目页面时,https://myApp.com/project01的表单中会出现一个“ update project”按钮,其中method = post action = https://myApp.com/project01。
问题:如果我使用浏览器检查器并将操作更改为https://myApp.com/project02,然后按“更新项目”按钮,则project01的信息将更新project02,因为两个项目都属于同一用户。
当前,我通过在服务器端检查HTTP引荐来源网址是否与当前发布的URL相同来避免这种交叉提交。但是,我想知道是否还有其他方法可以避免此问题。
我还尝试发布存储为会话变量的更新令牌,并检查该令牌是否处于活动状态以进行更新,但是,如果用户同时在浏览器中打开了两个项目并与检查器执行了相同的编辑,那么我将无法控制交叉提交。