怎样禁止用户在地址栏里直接输入url来访问页面,只允许通过web程序打开?请说的详细点,我是大菜鸟

解决方案 »

  1.   

    设计一套权限系统吧
    当无权限的用户在地址栏里直接输入url来访问页面就导向到另外一个页面去
      

  2.   

    <authentication mode="Forms">
    FormsAuthentication.SetAuthCookie(yhid,false);
    string yhid = User.Identity.Name;
    如果yhid为空就转到登陆界面
    这个是最简单的方法,呵呵,安全性不高
      

  3.   

    判断上页的url
    if (Request.ServerVariables["HTTP_Referer"]==null)
      {
                   comeurl=Request.Url.AbsoluteUri;
    }else
     {
                    comeurl=Request.ServerVariables["HTTP_Referer"].ToString();

     }
      

  4.   

    forms验证4吧
    www.cnblogs.com/pwqzc
    里面有篇这样的文章
      

  5.   

    表单验证,比较简单方便,如 fengjianwei1982(小熊) 所述虽然安全性不是特别高,也应该够用的了
      

  6.   

    to coley(唉~眼镜又厚了~) :
    哪有你说的那个Request.ServerVariables["HTTP_Referer"]啊?
      

  7.   

    你可以在每个页面判断session或者用forms验证如果你不想他知道真实路径
    可以用url重写
      

  8.   

    用forms验证或者在webconfig中设定每个页面的访问控制或在每个页面打开时检查下。
      

  9.   

    用session值,在页面初始的时候判断一下就可以了。
      

  10.   

    我的方法是在Global.asax里初始化用户名称,在每个页面检查用户名,如果为空就return.不只这样做行不行?
      

  11.   

    用Session吧
    在WEB首页的PageLoad{}加入:Session.Add("user","Bill");
    在其他页面PageLoad{}加入判断:if(Session["user"==""]){Response.Redirect("首页的文件名")}
      

  12.   

    1,session
    2,cookies
    3,forms
    4,other
      

  13.   

    留意coley(唉~眼镜又厚了~)的方法
      

  14.   

    都说了,接分
    原理就是页面Page_Load时判断一下,是不是有效用户。
      

  15.   

    那怎样阻止用户直接输入.jpg文件来访问图片呢?
      

  16.   

    我以前是用 Request.ServerVariables["HTTP_Referer"] 来判断的。
    你可以试试
      

  17.   


    用这个来判断
    Request.UrlReferrer == null  : 直接输入url来访问页面的情况
    Request.UrlReferrer.Host :由其他页面转过来的情况,这时要看一看返回的是不是你的域名。
      

  18.   

    首先:..............登陆界面
     Dim ryid As String
            If name.Text = "" Then            Page.RegisterStartupScript("dgscript", "<script Language=""Javascript"">alert('请输入用户名!')</script>")        ElseIf password.Text = "" Then            Page.RegisterStartupScript("dgscript", "<script Language=""Javascript"">alert('请输入密码!')</script>")        Else
                If name.Text = "guest" And password.Text = "1" Then
                    Response.Redirect("main.aspx")
                End If
                Dim strcom As String = "select 职工ID,姓名,登录名,密码,角色ID,权限  from   V_Ry_Js  where 登录名='" _
                & Trim(name.Text) & "' and 密码='" & Trim(password.Text) & "'"
                Dim com As SqlClient.SqlCommand = New SqlClient.SqlCommand(strcom, Sqlcon)
                com.Connection.Close()
                com.Connection.Open()
                Dim dr As SqlClient.SqlDataReader = com.ExecuteReader(CommandBehavior.CloseConnection)
                If dr.Read() Then
                    Session("name") = dr.Item("登录名")
                    MDrm = Session("name")                Session("xi") = dr.Item("姓名")
                    MName = Session("xi")                Session("pass") = dr.Item("权限")
                    Mqx = Session("pass")                ryid = dr.Item("职工ID")                com.Connection.Close()
                    dr.Close()
                    'Dim html As String = "Weblogins.aspx?user=" & MName & "&Drm=" & MDrm & "&pass=" & Mqx & "&Ygid=" & ryid
                    'Page.RegisterStartupScript("lodepage", "<script Language=""Javascript"">window.open ('" & html & "', '', ' height=600, width=800, toolbar=no, menubar=yes, scrollbars=yes, resizable=yes,location=no, status=yes');window.opener=null;window.close();   </script>")
                    Response.Redirect("Weblogins.aspx?user=" & MName & "&Drm=" & MDrm & "&pass=" & Mqx & "&Ygid=" & ryid)
                Else
                    Page.RegisterStartupScript("dgscript", "<script Language=""Javascript"">alert('用户不合法,请重新输入!')</script>")
                End If
            End If
      

  19.   

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            '在此处放置初始化页的用户代码
            If Not Page.IsPostBack Then
                Dim MName As String = Me.Request.QueryString("user")
                If MName <> "" Then
                    Me.Response.Write("<script Language=""Javascript"">alert('" & "欢迎" & MName & "进入核工业216大队主页!" & "')</script>")
                ElseIf Session("name") = "" Then
                    Response.Redirect("default.aspx")//Session("name")空的话,返回界面
                End If
            End If
         
     
        End Sub