如何防止用户直接从地址栏中打开一个页面?

解决方案 »

  1.   

    用Session,在Page_Load事件中检查Session,如不是合法的就Redirect
      

  2.   

    在Page.Load 中,
    if (Session["变量名"]==null)
    Response.End();
      

  3.   

    不明白,在哪里给Session["变量名"]赋值?
      

  4.   

    string url = Request.UrlReferrer.AbsoluteUri;
    可以用来获取点击过来的url地址用if判断,如果url为空,那么是新开IE,输的地址int webint = url.IndexOf("csdn.net");
    如果webint大于0,那么是从本站点击进那个页面的.小于0为其它站点. Response.Redirect(.......
      

  5.   

    一般防止防止用户直接从地址栏中打开一个页面都是为了防止会员直接输入url进入会员页面,当会员登录成功后可以给会员分配一个session["user"] = datareader["username"].Tostring();
    然后就如楼上所说在Page_Load事件中检查Session如果session为null,则转到相应页面
      

  6.   

    http://www.cnblogs.com/gwazy/archive/2005/03/04/112643.aspx
      

  7.   

    我也用过Request.UrlReferrer.AbsoluteUri,它只能是在点击一个链接或一个按钮打开一个页面时,才有值,如果是在点击一个菜单(如skmmenu或aspnetmenu等菜单控件)来打开一个页面时,Request.UrlReferrer.AbsoluteUri的值就会为空,
    百思不得其解...
      

  8.   

    转到登录窗口的方法根本行不能,因为实际上该用户已经登录成功,他只能看a.aspx,不能查看b.aspx,但是我担心他知道有b.aspx的存在后,直接在地址栏中输入b.aspx来查看,或者是他只有查看c.aspx?id=3这个页面的权限,要防止他输入c.aspx?id=1002这个页面.
    下面是我的源代码,供参考:
    ComeUrl=lcase(trim(request.ServerVariables("HTTP_REFERER")))if ComeUrl="" then
    response.write "<br/><p align=center><font color='red'>对不起,为了系统安全,不允许直接输入地址访问本系统的后台管理页面。</font></p>"
    response.end
    else
    cUrl=trim("http://" & Request.ServerVariables("SERVER_NAME"))if mid(ComeUrl,len(cUrl)+1,1)=":" then
    cUrl=cUrl & ":" & Request.ServerVariables("SERVER_PORT")
    end if
    cUrl=lcase(cUrl & request.ServerVariables("SCRIPT_NAME"))
    '这里修改2004-9-3 start 
    if lcase(left(ComeUrl,instrrev(ComeUrl,"/")))<>lcase(left(cUrl,instrrev(cUrl,"/"))) then
    response.write "<br/><p align=center><font color='red'>对不起,为了系统安全,不允许从外部链接地址访问本系统的后台管理页面。</font></p>"
    response.end
    end if
    end if
    其实如我上面所说的,能过上面的方法能够解决问题,但是,如果通过菜单来打开一个页面时,Request.UrlReferrer.AbsoluteUri为空,而不是前一个页面的名称,这是为什么?
      

  9.   

    谁能解决菜单打开页面时,Request.UrlReferrer.AbsoluteUri为空的问题,100分全送了.
      

  10.   

    mw515() 的方法可以Test
    .Thank you .
      

  11.   

    form驗證。或者每頁session驗證
      

  12.   

    很简单,对用户设置等级
    写在一个cookie里面,在打开任何一页调用一个公共类的方法来验证等级
    无权限就Redirect不就行了!