如果检查用户的角色以确定他们是否可以访问页面,仅将此检查放在 if (!Page.IsPostBack) { ... }
内是否安全? 客户端是否有可能独立于 ASP.net 导致Page.IsPostBack == true
?也就是说,客户端 POST 到页面并设置正确的表单字段?如果可能的话,那么我认为最佳实践是在每个页面加载时检查安全性,而不仅仅是在 Page.IsPostBack == false
时检查。
最佳答案
很容易。它甚至不必通过 HTTP post 进行。
IsPostBack 检查 ViewState 和 Event* 隐藏字段。如果您在查询字符串上提供这些字段,那么 IsPostBack 实际上将返回 true,因此,例如,尝试使用该偷工减料的查询字符串加载图像的客户端页面将导致后面的代码相信它是回发。
关于asp.net - 是否可以使 Page.IsPostBack 独立于 ASP.net 为真?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6189881/