日期:2014-05-17  浏览次数:20521 次

如何设置不能通过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("无法访问当前页!");
}

------解决方案--------------------
引用:
可以利用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 转化为虚似目录指到别的地址