经典的asp密码验证sql

时间:2011-06-10 14:21:34

标签: html sql vbscript asp-classic passwords

如果我有一个用户输入用户名和密码的登录页面,我如何将该信息发布到另一个用于存储子程序和程序的页面,以便其他页面将包含该页面,以便我可以最小化该数量我键入一个连接字符串。

所以我有login.asp,我想将登录凭据发布到include.asp,如果用户登录的详细信息是正确的,它将永远不会被打开,然后将其定向到table.asp。如果不正确,它应该在login.asp页面中显示错误消息。

我提供了include.asp文件的代码,

下面的用户永远不会看到它
Dim objCon, SQL, objRS

'Connect to Database
sub connect()

    Set objCon = CreateObject("ADODB.Connection")
    Set objRS = CreateObject("ADODB.Recordset")
    objCon.Open "Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=xxxx;Initial Catalog=Customer;Data Source=xxxx"   
    SQL = "SELECT * FROM Customer"  
    objRS.open SQL, objCon

end sub


sub connectionClose()

    objRS.close
    objCon.close   

end sub

2 个答案:

答案 0 :(得分:1)

让我发布代码标签,以便它有所帮助。

所以你有login.asp,validateLogin.asp,table.asp(他们都有include.asp)

Login.asp将凭据发布到validatelogin.asp

一次在validatelogin.asp

dim username : username = request.form("username")
dim password: password = request.form("password")
'here for security purpose u will want to replace all the single quote in username and password with 2x single quote (you do that to avoid SQL injection form bots / hackers
username = replace(username ,"'","''")
password = replace(password,"'","''")
sqlValidateUser = "SELECT top 1 * FROM Customer where username='"&&"' and password = ''"
set rsValidateUser = objCon.execute(sqlValidateUser)
if not rsValidateUser.eof then
   session("authentified") = "1"
   response.redirect("table.asp")
   response.end()
else
   response.redirect("YOUR_ERROR_PAGE.asp")
   response.end()
end if
rsValidateUser.close

然后在你的include.asp中你会想要类似的东西:

'Validating if your NOT on login.asp or loginvalidate.asp ... if not Check if your logged in ... if not redirect to error page or login form
    if not instr(lcase(request.servervariable("url")),"login.asp") > 0 and not instr(lcase(request.servervariable("url")),"validatelogin.asp") > 0 then
       if session("authentified") = "1" then
          response.redirect("your_Error_page.asp")
       end if
    end if

不是100%肯定include.asp代码我没有验证任何它但它应该看起来像那样

答案 1 :(得分:0)

在根文件夹下创建一个\ includes文件夹。 在\ includes中添加“functions.asp”页面并将您的公共数据访问功能放在该页面中。包括NO HTML - 只是服务器端脚本。

在您的身份验证页面中,添加指向您的包含文件夹的#include指令:示例:

<!-- #include file = "../includes/functions.asp" -->

然后从您的身份验证页面调用functions.asp中定义的任何函数。