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