如何设置不能通过url访问内部文件
假如项目hhh
假如网址是www.hhh.com 访问default.aspx页面
项目中mainpage文件夹下mainpage.aspx页面
如何设置通过www.hhh.com/mainpage/mainpage.aspx不能访问这个页面而只能通过页面中的链接访问。
------解决方案--------------------页面公开本来就是可以通过url访问的,没有哪种浏览器支持直接打URL不能访问
如果你是要进行权限控制,那也是应该行权限的那一套办法
------解决方案--------------------这是权限的问题不是URL设置的问题
------解决方案--------------------可以利用Session来完成这个功能。
MainPage.aspx的代码
void Page_Load(object sender, EventArgs e)
{
bool isDereference = !Object.ReferenceEquals(Session["IsDereference"], null) && ((bool)Session["IsDereference"])
if(isDereference) Session.Remove("IsDereference");
else throw new Exception("无法访问当前页!");
}
------解决方案--------------------
间接访问页面
void Button_Click(object sender, EventArgs e)
{
Session["IsDereference"] = true;
this.Response.Redirect("MainPage.aspx");
}
------解决方案--------------------mainpage 目录下,丢一个web.config进去,用户 "*" 禁止访问
或是把mainpage 转化为虚似目录指到别的地址