在我的网站上,人们可以提出问题和答案。问题在example.com/question/title。要发布答案,表单将提交至example.com/question/post_answer/7,其中7为问题ID。
在此处运行验证以确保输入答案。如果没有,它会将您带回原始网址。因此,post_answer路径实际上从未被用户“看到”,但他们显然可以访问它。
我现在想知道,如果用户将问题的ID更改为8,他可以发布另一个问题的答案。
这不是真正安全问题,因为所有用户都会回答另一个问题。但我想知道 - 在这种情况下,你如何阻止这种网址篡改:将问题ID存储在会话中并显示错误,如果它被改变了?
思想?