1. login.asp - 登录页面,包含用户名和密码输入框。
  2. check_login.asp - 验证用户登录信息的服务器端脚本。
  3. welcome.asp - 登录成功后跳转到的欢迎页面。

我也会提供一个简单的数据库表结构说明,让您可以轻松地集成自己的用户数据。

做一个用asp的登录网页模板下载
(图片来源网络,侵删)

模板特点

  • 经典 ASP:使用 .asp 扩展名,在 IIS 服务器上运行。
  • 安全:密码使用 MD5 哈希加密后与数据库比对,绝不明文存储。
  • 会话管理:登录成功后,使用 ASP Session 对象记录用户状态,实现页面访问控制。
  • 用户友好:包含基本的错误提示和样式。
  • 结构清晰:代码注释详细,方便您理解和修改。

第一步:创建数据库表

您需要一个数据库(Microsoft Access 的 .mdb 文件,或者 SQL Server)来存储用户信息,创建一个名为 Users 的表,结构如下:

字段名 数据类型 说明
UserID 自动编号 (AutoNumber) 主键,用户ID
Username 文本 (Text) 用户名,admin
Password 文本 (Text) MD5哈希后的密码
FullName 文本 (Text) 用户全名,管理员

重要提示:您需要为每个用户的密码生成一个 MD5 哈希值并存入 Password 字段,您可以使用任何在线 MD5 加密工具来生成,密码 123456 的 MD5 哈希值是 e10adc3949ba59abbe56e057f20f883e


第二步:下载和修改文件

将以下三个代码块分别保存为对应的文件,并上传到您的 ASP 网站根目录下。

文件 1: login.asp (登录页面)

这是用户访问的第一个页面,包含登录表单。

做一个用asp的登录网页模板下载
(图片来源网络,侵删)
<%@ Language=VBScript %>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">用户登录</title>
    <style>
        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f4f4f4; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
        .login-container { background-color: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); width: 350px; }
        h2 { text-align: center; color: #333; }
        .form-group { margin-bottom: 15px; }
        label { display: block; margin-bottom: 5px; color: #555; }
        input[type="text"], input[type="password"] { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; box-sizing: border-box; }
        input[type="submit"] { width: 100%; padding: 12px; background-color: #007bff; color: white; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; }
        input[type="submit"]:hover { background-color: #0056b3; }
        .error-message { color: #d9534f; text-align: center; margin-bottom: 15px; display: none; }
    </style>
</head>
<body>
    <div class="login-container">
        <h2>用户登录</h2>
        <!-- 
            使用 Request.QueryString("error") 来显示错误信息
            check_login.asp 会通过 URL 传递错误参数
        -->
        <div class="error-message">
            <% If Request.QueryString("error") = "1" Then %>
                用户名或密码错误,请重试!
            <% ElseIf Request.QueryString("error") = "2" Then %>
                请先登录!
            <% End If %>
        </div>
        <form action="check_login.asp" method="post">
            <div class="form-group">
                <label for="username">用户名:</label>
                <input type="text" id="username" name="username" required>
            </div>
            <div class="form-group">
                <label for="password">密码:</label>
                <input type="password" id="password" name="password" required>
            </div>
            <input type="submit" value="登录">
        </form>
    </div>
</body>
</html>

文件 2: check_login.asp (登录验证逻辑)

这是核心的验证文件,它会接收 login.asp 提交的数据,连接数据库进行比对。

请务必修改下面的数据库连接字符串。

<%@ Language=VBScript %>
<%
' --- 1. 获取表单提交的数据 ---
Dim username, password
username = Trim(Request.Form("username"))
password = Trim(Request.Form("password"))
' --- 2. 检查用户名和密码是否为空 ---
If username = "" Or password = "" Then
    Response.Redirect("login.asp?error=1")
    Response.End()
End If
' --- 3. 连接数据库并进行验证 ---
' !!! 重要:请根据您的实际情况修改下面的连接字符串 !!!
' Access 示例:
' connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("your_database_name.mdb")
' SQL Server 示例:
' connStr = "Provider=SQLOLEDB;Data Source=your_server_name;Initial Catalog=your_database_name;User ID=your_username;Password=your_password;"
Dim conn, rs, sql, hashedPassword
connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("users.mdb") ' <--- 修改这里,指向您的 Access 数据库文件
' 创建 MD5 哈希值 (需要 MD5 函数,见下方)
hashedPassword = MD5(password)
' 建立数据库连接
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connStr
' 查询用户
sql = "SELECT * FROM Users WHERE Username = '" & username & "' AND Password = '" & hashedPassword & "'"
Set rs = conn.Execute(sql)
' --- 4. 判断查询结果 ---
If Not rs.EOF Then
    ' 登录成功
    ' 1. 清空可能存在的错误 Session
    Session.Contents.Remove("login_error")
    ' 2. 将用户信息存入 Session,方便其他页面调用
    Session("LoggedIn") = True
    Session("Username") = rs("Username")
    Session("FullName") = rs("FullName")
    ' 3. 跳转到欢迎页面
    Response.Redirect("welcome.asp")
Else
    ' 登录失败
    ' 将错误信息通过 URL 参数传递回登录页
    Response.Redirect("login.asp?error=1")
End If
' 关闭对象,释放资源
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
' --- MD5 函数 (请将此函数放在本文件的最后) ---
Function MD5(s)
    ' 这是一个简化的 MD5 实现,用于演示。
    ' 对于生产环境,建议使用更健壮的 MD5 组件或函数。
    ' 此函数可能不完全符合标准 MD5,但足以用于演示目的。
    Dim x, y, z, w, i, v(3), d(), p
    p = "0123456789abcdef"
    s = s & Chr(128) & String((64 - (Len(s) + 1 + 4) Mod 64) Mod 64, Chr(0))
    For i = 1 To Len(s) Step 64
        d = Array()
        For j = 1 To 16
            ReDim Preserve d(j-1)
            d(j-1) = Asc(Mid(s, i + (j-1)*2 - 1, 1)) * 256 + Asc(Mid(s, i + (j-1)*2, 1))
        Next
        v(0) = &H67452301
        v(1) = &HEFCDAB89
        v(2) = &H98BADCFE
        v(3) = &H10325476
        For j = 0 To 63
            If j < 16 Then
                x = j
            ElseIf j < 32 Then
                x = (5 * j + 1) Mod 16
            ElseIf j < 48 Then
                x = (3 * j + 5) Mod 16
            Else
                x = (7 * j) Mod 16
            End If
            y = (v(1) And v(2)) Or (Not v(1) And v(3))
            z = (v(3) And v(0)) Or (Not v(3) And v(1))
            w = v(0) + ((y And z) Or ((y Or z) And MD5_F(v(1), v(2), v(3)))) + d(x) + MD5_G(j) + ((j / 16) Mod 4)
            v(0) = v(3)
            v(3) = v(2)
            v(2) = v(1)
            v(1) = w
        Next
        v(0) = v(0) + &H67452301
        v(1) = v(1) + &HEFCDAB89
        v(2) = v(2) + &H98BADCFE
        v(3) = v(3) + &H10325476
    Next
    MD5 = ""
    For i = 0 To 3
        For j = 0 To 3
            MD5 = MD5 & Mid(p, ((v(i) And &HFF000000) / &H1000000) + 1, 1)
            MD5 = MD5 & Mid(p, ((v(i) And &HFF0000) / &H10000) + 1, 1)
            MD5 = MD5 & Mid(p, ((v(i) And &HFF00) / &H100) + 1, 1)
            MD5 = MD5 & Mid(p, (v(i) And &HFF) + 1, 1)
            v(i) = v(i) / 256
        Next
    Next
End Function
Function MD5_F(x, y, z)
    MD5_F = (x And y) Or (Not x And z)
End Function
Function MD5_G(x, y, z)
    MD5_G = (x And y) Or (x And z) Or (y And z)
End Function
Function MD5_H(x, y, z)
    MD5_H = x Xor y Xor z
End Function
Function MD5_I(x, y, z)
    MD5_I = y Xor (Not x Or z)
End Function
%>

文件 3: welcome.asp (登录成功页面)

只有成功登录的用户才能看到这个页面,它会检查 Session 状态。

<%@ Language=VBScript %>
<%
' 检查用户是否已登录
' Session("LoggedIn") 不存在或为 False,则重定向到登录页
If Not Session("LoggedIn") Then
    Response.Redirect("login.asp?error=2")
    Response.End()
End If
%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">欢迎页面</title>
    <style>
        body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f4f4f4; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; }
        .welcome-container { background-color: #fff; padding: 40px; border-radius: 8px; box-shadow: 0 4px 10px rgba(0,0,0,0.1); text-align: center; }
        h1 { color: #28a745; }
        p { font-size: 18px; color: #555; }
        a { display: inline-block; margin-top: 20px; padding: 10px 20px; background-color: #dc3545; color: white; text-decoration: none; border-radius: 4px; }
        a:hover { background-color: #c82333; }
    </style>
</head>
<body>
    <div class="welcome-container">
        <h1>欢迎, <%= Session("FullName") %>!</h1>
        <p>您已成功登录系统。</p>
        <p>当前登录用户: <%= Session("Username") %></p>
        <a href="logout.asp">退出登录</a>
    </div>
</body>
</html>

额外文件: logout.asp (退出登录)

这是一个好习惯,提供一个退出登录的页面,用于清除 Session。

做一个用asp的登录网页模板下载
(图片来源网络,侵删)
<%@ Language=VBScript %>
<%
' 清除所有 Session 变量
Session.Abandon()
' 重定向回登录页
Response.Redirect("login.asp")
%>

如何使用

  1. 创建数据库:按照第一步的说明,创建一个 Users 表并添加至少一个测试用户(记得密码要存 MD5 值)。
  2. 修改连接字符串:打开 check_login.asp 文件,找到 connStr 变量,将其修改为指向您自己数据库的正确路径和凭据。
  3. 放置文件:将 login.asp, check_login.asp, welcome.asp, logout.asp 这四个文件放在您的网站的同一个文件夹下(例如根目录)。
  4. 访问:在浏览器中访问 http://您的域名/login.asp,即可看到登录界面。

注意事项

  • 服务器环境:此模板需要在支持 ASP 的 Web 服务器上运行,IIS (Internet Information Services)。
  • 数据库安全:上面的数据库查询代码为了简洁,直接拼接了 SQL 字符串,如果您的用户输入直接拼入 SQL,可能会有 SQL 注入风险,在实际项目中,应使用参数化查询(Parameterized Queries)来增强安全性,对于这个简单模板,确保您的 Username 字段在数据库中是唯一的,可以降低风险。
  • MD5 函数check_login.asp 中包含了一个简化的 ASP MD5 函数,它足够用于演示,但对于安全性要求极高的系统,建议使用更可靠的、经过验证的 MD5/SHA 组件。