经典的asp密码验证sql



如果我有一个登录页面,用户输入了用户名和密码,我该如何将该信息发布到另一个用于存储子系统和过程的页面,以便其他页面将包括该页面,这样我就可以最大限度地减少键入连接字符串的次数。

因此,我有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

让我用代码标签发帖,这样会有所帮助。

所以你得到了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代码我没有验证任何代码,但它应该看起来像

在根文件夹下创建一个\includes文件夹。在\includes中添加一个"functions.asp"页面,并将您的常用数据访问函数放在该页面中。不包含HTML-只包含服务器端脚本。

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

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

然后从您的身份验证页面调用functions.asp.

中定义的任何函数

相关内容

  • 没有找到相关文章

最新更新