经典的asp请求形式和变量



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

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

我想做的是比较来自某个变量的用户/传递信息,比如有一个包含变量的第二个文件:

<%
'Username Variables
Dim PCUser, PCPass
PCUser = "username"
PCPass = "password"
%>

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

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

然后能够读取请求中的变量。格式:

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

这就是我迄今为止尝试但没有成功的原因:(有人能帮我弄清楚为什么吗???

如果我在页面末尾写一个response.write,它会显示变量值:

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

提前感谢

PC

尝试

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)

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

一种更简单的方法可能是将用户名和密码放在应用程序变量中,放在站点根目录的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

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

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

希望这能帮助

最新更新