如果我有一个视图,其唯一目的是更新会话中的值,是否可以通过GET使用它,还是应该使用POST和CSRF保护?
会话中修改的值仅用于更改用户的上下文,如果有人设法在自己的浏览器中更改用户的上下文,那应该是无害的。
答案 0 :(得分:3)
我个人并不认为将GET用于有副作用的请求是安全的。 我尝试始终遵循POST +重定向到另一个页面的做法。 这解决了各种问题,例如F5刷新动作,用户为具有副作用的URL添加书签等等。
在您的情况下,更新是无害的,但使用POST至少传达了这样一个事实,即它是一个更新,可能对缓存软件等工具很有用(POST请求通常不会被缓存)。 最重要的是,应用程序经常会发生变化,您可能在某些时候需要修改应用程序,使更新不再那么无害。 通常也很难保证在Web开发中任何事情都是完全安全的,所以我宁愿保持安全。