1

我需要一些帮助。我得到了这个简单的用户名/密码脚本来启用登录页面。它基本上是一种询问用户名/密码并与代码中的一些信息进行比较的表单。

If Request.Form("FormUsername") = "username" AND Request.Form("FormPassword") = "password" Then

我想做的是比较一些变量的用户/传递信息,比如有第二个文件和变量:

<%
'Username Variables
Dim PCUser, PCPass

PCUser = "username"
PCPass = "password"
%>

然后将文件包含到登录页面:

<!--#include file="Users.inc"-->

然后能够读取 request.form 上的变量:

If Request.Form("FormUsername") = "& PCUser &" AND Request.Form("FormPassword") = "& PCPass &" Then

到目前为止,这就是我尝试过的,但没有成功:(谁能帮我找出原因???

如果我在页面末尾执行 response.write,它将显示变量值:

<%
Response.Write("user= " & PCUser & "<br />")
Response.Write("pass= " & PCPass & "<br />")
%>

提前致谢

个人电脑

4

2 回答 2

2

尝试

If Request.Form("FormUsername") = PCUser 
      AND Request.Form("FormPassword") = PCPass Then

第二次尝试:

response.write "FormUsername: " & Request.Form("FormUsername")
response.write "PCUser: " & PCUser
response.write "Equals: " & (Request.Form("FormUsername") = PCUser)

在主页和包含文件中使用上述内容进行检查。

于 2012-09-25T02:49:35.930 回答
0

一种更简单的方法可能是将用户名和密码放在应用程序变量中,即站点根目录的 global.asa 中:

<script language=vbscript runat=server>
    SUB Application_OnStart
            Application.contents("username") = "username"
            Application.contents("password") = "password" 
    END SUB
</script>

这使您的用户名和密码在整个应用程序中都可用。在您的页面中,您可以像这样检查它(不需要包含):

If Request.Form("FormUsername") = Application.contents("username") AND Request.Form("FormPassword") = Application.contents("password") Then
    ...
End if

当然,从那里开始的方法是创建一个登录页面,一旦用户使用正确的用户名和密码登录,设置一个会话变量(每个用户),然后检查会话变量查看是否有人登录:

全球.ASA:

<script language=vbscript runat=server>
    ' run when the application is started for the first time or re-started
    SUB Application_OnStart
            Application.contents("username") = "username"
            Application.contents("password") = "password" 
    END SUB

    ' run for each user when he or she first visits the site
    SUB Session_OnStart 
            Session.Contents("loggedIn") = False
    END SUB
</script>

当用户成功登录时,您的登录页面可以将会话设置为 TRUE:

If Request.Form("FormUsername") = Application.contents("username") AND Request.Form("FormPassword") = Application.contents("password") Then
    Session("loggedIn") = True
End if

在您要保护的每个页面的顶部,您可以执行以下操作:

If NOT Session("loggedIn") Then 
    Response.redirect("/login.asp")    ' redirect to your login page
End If

最后一段代码可以放在一个包含文件中,并添加到您想要保护的所有页面的顶部。

请注意,这是一个非常初级的安全系统,代码未经测试。

希望这可以帮助

于 2012-09-25T11:50:24.613 回答