如果正在检查
用户的角色以确定他们是否可以访问
页面,那么将此检查仅安装在if(!Page.IsPostBack){…}中是否安全?是否有可能客户端独立于ASP.net导致Page.IsPostBack == true;也就是说,客户端POST到
页面并设置正确的表单字段?如果可能,那么我认为最好的做法是检查每个
页面加载的安全性,而不仅仅是在Page.IsPostBack == false时.
容易.它甚至不必通过HTTP帖子.
IsPostBack检查ViewState和Event * hidden字段.如果您在查询字符串上提供这些字段,那么IsPostBack将实际返回true,因此,例如,尝试使用该jerry-rigged查询字符串加载图像的客户端页面将导致后面的代码认为它是回发.