地址栏参数 是不区分 大小写的最好的方法 定义一个basepage.cs基础类
用于用户 身份 验证需要验证的页面都从这个类 继承

解决方案 »

  1.   

    登陆成功后 
    this.Session["IsLogin"] = true;
    在你不想让用户没有登陆就能到这个页面的时候可以在 Page_Load 中写下
    // 在此处放置用户代码以初始化页面
    // 在此处放置用户代码以初始化页面
    if ( ( this.Session["IsLogin"] == null ) || ( !(bool)this.Session["IsLogin"] ) )
    {
    this.Response.Redirect( "你的登陆页面.aspx" );
    }
      

  2.   

    To:hertcloud(·£DOTNET@C/C++£·时间路上|做个热心人) ( ) 
    谢谢,,我想请问一下定义一个basepage.cs基础类。用于身份验证的信息是存在session里面吗??如果是存在Session里面就有一个问题是:如果我通过了身份验证(我已经登录了),这时
    我又可以在地址栏中输入地址来进行网页访问了。。
    我想实现的所有页面都不能从地址栏中输入(除了首页)请问是否能够实现???????
      

  3.   

    TO:hertcloud(·£DOTNET@C/C++£·时间路上|做个热心人) 
    AND ocan(OK! I Can!!!) 
    那为什么我访问网站时有的站点不区分大小写便访问不了,,为什么呀??
      

  4.   

    那地址样指定的URL是否区分大小写??
      

  5.   

    TO:hb_gx(高升)
    真的是这样吗??有没有不同答案,太可怕了!!!!!!!!!!!!!!!!
      

  6.   

    每个网页都是asp程序,每个asp程序都接受post的一个值(只接受post的,用request.form获取),地址栏是不可能输入post的变量值的。这样就可以强制必须使用你的网页上的点击来跳转了。不明白楼主为什么会想这么做呢?
      

  7.   

    不让在地址栏输入不大可能,只有在程序里面判断,用SESSION可以做的
    以前没有做过,不过可以给个建议:
    用一个SESSION保存网页的名字
    假如有页面A,B要必须通过页面A到B,可以在A跳转到B之前给SESSION赋值B网页的名字,然后在B网页加载的时候判断SESSION是否为B网页名字,不是则跳回A或者跳到报错页面
      

  8.   

    TO:谢谢。。好办法!强!
    对了,我问一下在ASP中instr是否区分大小写?
    好像ASP都不区分大小写。。可是我测试 
    If Instr("operatro,Oper,OOO","oper") > 0 Then
    Response.Write("不区分")
    Else
    Response.Write("区分")
    End If
    结果返加"区分"怪了,是不是我IIS出问题了??请高手指点..
      

  9.   

    To : bejon(阿牛[如果我懂,必坦诚相告;如果您懂,请不怜赐教。]) ( ) 信
    强,好办法,,
    再有就是我在我机器上试,
    地址栏上输入http://localhost/Admin/index.asp结果找不到页面
    我的服务器上是Index.asp
    输入http://localhost/admin/Index.asp结果成功。。
    我都感觉牛了,是不是我的IIS出问题了??请高手指点!!
      

  10.   

    form认证,会自动跳到登陆界面
      

  11.   

    FORM验证不会吗?..最简单最有效的方法
      

  12.   

    sub page_load(....)
    if page.ispostback=false then
     If  Request.UrlReferrer Is Nothing Then
                exit sub
            End If
    end if
    end sub好象直接从浏览器输入的就没有"urlreferrer",我曾经试过是没有,你自己再试看看吧.
      

  13.   

    恩,LZ都已经说的很清楚了~~~
    最简单的就是FORM验证了
      

  14.   

    hertcloud(·£DOTNET@C/C++£·时间路上|做个热心人) ( 你说的那个方法能详细点吗,学习下
      

  15.   

    我曾经也有过这样的需求,在做一个OA项目,我是根据用于的权限来判断说来说去还是根据Session来判断!
      

  16.   

    谢谢各位:
        很多都说用FORM验证,
    我有两点疑问:1.FORM验证是将验证信息放入Cookie里,如果客户端禁止Cookie,FORM会正常吗?
    2.如果我已经经过验证了,然后我再在浏览器的地址栏中输入页面地址.不也可以吗,还是没达到不准用浏览器输入的效果呀??
      

  17.   

    验证源页面 referer属性得到的地址就是你通过哪个页面连接过来的,直接练的话为空,js就可以实现
      

  18.   

    多谢 WORLDNIC() 
       你的方法是可以的,(再加个Request.ServerVariables防盗连,)应该比较完美了.
    多谢 KOFMYLOVE() 你的方法也是可以的......
      

  19.   

    sub page_load(....)
    if page.ispostback=false then
     If  Request.UrlReferrer Is Nothing Then
                exit sub
            End If
    end if
    end sub
    这个是可以  顶
      

  20.   

    在起点页面设置一个session,在目标页面判断这个session是否存在
      

  21.   

    弄一下配置文件即可
    <!-- 以下节点作用一个页面的访问权限,可写多个,也可去掉第一句话,在一个文件夹放webconfig对整个文件夹起作用  -->
    <!--
      <location path="xxx.aspx">
        <system.web>
          <authorization>
            <allow users="*" />
          </authorization>
        </system.web>    
      </location>
      -->
    </configuration>//加这个是为了让你知道配置文件放哪个位置
      

  22.   

    在你网站的登录页面中编写代码成功登录后,把用户名和密码封装成实体类,存进Session中if(登录成功)
    {
      Users users = new Users(LoginID,LoginPWD);
      Session["user"] = users;
      Response.Redirect("welcome.aspx");
    }
    else
    {
      Response.Redirect("Login.aspx");   //若不成功,再指向登录页面
    }然后在其他页面中都加入这段代码就OK了。
      

  23.   

    你防止不了的,只能简单防一下,最简单的就是refer判断了