บทความที่มีการทีละขั้นตอนนี้อธิบายถึงวิธีการสร้างโซลูชันการรักษาความปลอดภัยของแฟ้มอย่างง่าย ด้วยการใช้ Microsoft FrontPage 2002, Active Server หน้า (ASP), และฐานข้อมูล Microsoft Access
หมายเหตุที่สำคัญ
- ตัวอย่างรหัสในบทความนี้จะได้รับการออกแบบไม่เป็นการแทนที่สำหรับการทำงานการรักษาความปลอดภัยที่มีอยู่แล้วของ FrontPage ตัวอย่างจะได้รับการออกแบบเพื่อให้กลไกการรักษาความปลอดภัยอย่างง่ายสำหรับผู้ใช้เรียกดูเว็บไซต์ของคุณเท่านั้น เป็นเช่น ความปลอดภัยของ FrontPage 2002 ไม่รวมกับชื่อผู้ใช้และรหัสผ่านที่ถูกเพิ่มไปยัง Microsoft Access ฐานข้อมูล
- ชื่อผู้ใช้และรหัสผ่านที่พิมพ์ไว้ในถูกส่งผ่านอินเทอร์เน็ตในข้อความล้วน สำหรับการรักษาความปลอดภัยมากกว่า Microsoft แนะนำให้ คุณใช้เว็บเซิร์ฟเวอร์ที่สามารถใช้ Secure Sockets Layer (SSL) การเข้ารหัสลับ สำหรับข้อมูลเพิ่มเติม โปรดติดต่อผู้ดูแลของเว็บไซต์หรือผู้ให้บริการอินเทอร์เน็ต (ISP) ของคุณ
ขั้นตอนที่ 1 - การรับพร้อมให้ใช้คุณลักษณะ ASP ใน FrontPage 2002
ก่อนที่คุณสามารถใช้ลักษณะการทำงานของ ASP ใน FrontPage 2002 คุณต้องติดตั้งคอมโพเนนต์ที่ระบุไว้ในบทความฐานความรู้ของ Microsoft ต่อไปนี้:
318287
(http://support.microsoft.com/kb/318287/
)
สิ่งที่คุณจำเป็นต้องใช้ในการใช้ Active Server หน้า (ASP) ใน FrontPage 2002
ขั้นตอนที่ 2 - สร้างเว็บใหม่ใน FrontPage 2002
หมายเหตุ:สำหรับรหัสนี้ตัวอย่างการทำงานอย่างถูกต้อง คุณต้องมั่นใจว่า ชื่อเว็บจะเข้าสู่ระบบ และที่อยู่เว็บย่อยการออกจากรากของเว็บไซต์ของคุณ
- ในการแฟ้ม:เมนู คลิกใหม่แล้ว คลิกเพจหรือเว็บ.
- ในบานหน้าต่างงาน คลิกแม่แบบเว็บไซต์.
- ในรายการของต้นแบบ คลิกเว็บที่ว่างเปล่า.
- ระบุตำแหน่งที่ตั้งของเว็บบนเซิร์ฟเวอร์ โดยใช้ไวยากรณ์ต่อไปนี้
http://เซิร์ฟเวอร์ของคุณ/logon/
โดย:เซิร์ฟเวอร์ของคุณชื่อของการเปิดใช้งาน ASP เว็บเซิร์ฟเวอร์ได้ - คลิกตกลง.
ขั้นตอนที่ 3 - สร้างฐานข้อมูล โดยใช้การเข้าถึงของ Microsoft
- การเริ่มการทำงานการเข้าถึงของ Microsoft
- ในการแฟ้ม:เมนู คลิกใหม่.
- ในรายการตัวเลือก คลิกฐานข้อมูลเปล่า.
- ชื่อแฟ้มlogon.mdbและบันทึกไปยังเดสก์ท็อปของคุณ
- ในการตารางส่วน คลิกใหม่.
- ในรายการ คลิกมุมมองออกแบบแล้ว คลิกตกลง.
- สร้างเขตข้อมูลที่สอง:
- สำหรับการชื่อเขตข้อมูล:ประเภท:uid. สำหรับการชนิดข้อมูล:คลิกข้อความแล้ว คลิกคีย์หลัก.
- สำหรับการชื่อเขตข้อมูล:ประเภท:pwd. สำหรับการชนิดข้อมูล:คลิกข้อความ.
- ในการแฟ้ม:เมนู คลิกบันทึก. ชื่อตารางtblUsersแล้ว คลิกตกลง.
- ในการมุมมองเมนู คลิกมุมมองแผ่นข้อมูล.
- ในการuidคอลัมน์ ชนิดtestuser. ในการpwdคอลัมน์ ชนิดรหัสผ่าน:.
- ในการแฟ้ม:เมนู คลิกปิดเมื่อต้องการปิดตาราง
- ออกจากการเข้าถึงของ Microsoft
หมายเหตุ:เพื่อเหตุผลด้านความปลอดภัย รหัสผ่านจะมีการจำกัดการ mixture เป็นอักษรตัวพิมพ์ใหญ่ อักษรตัวพิมพ์เล็ก และหมายเลข
ขั้นตอนที่ 4 - นำเข้าฐานข้อมูล Microsoft Access
- ในการแฟ้ม:เมนู คลิกนำเข้า.
- คลิกเพิ่มแฟ้ม.
- ในการค้นหารายการ คลิกเดสก์ท็อปของคุณ
- คลิกการlogon.mdbแฟ้มที่คุณสร้างขึ้นในขั้นตอนที่ 3แล้ว คลิกOPEN.
- คลิกปรับเปลี่ยน.
- การเปลี่ยนแปลง URL ไปยัง_private/logon.mdbแล้ว คลิกตกลง.
- คลิกตกลงเมื่อต้องการนำเข้าแฟ้ม
- ถ้าคุณได้รับการพร้อมท์ให้เพิ่มการเชื่อมต่อฐานข้อมูล คลิกไม่มี.
ขั้นตอนที่ 5 - สร้างเพจ ASP
คุณต้องสร้างแฟ้มหลาย ๆ แฟ้มที่ทำงานกับตัวอย่างนี้ ขั้นแรก สร้างของคุณ
โฮมเพจหรือไม่สำหรับเว็บไซต์ของคุณ ข้อ
เพ unsecureและยัง
เพจที่มีความปลอดภัยสำหรับการทดสอบ แล้วนี้
เข้าสู่ระบบเว็บเพจและ
เข้าสู่ระบบรวมถึงแฟ้ม.
ขั้นตอน 5a - สร้างโฮมเพจ
หน้านี้ทำหน้าที่เป็นเพจเริ่มต้นสำหรับไซต์ของคุณ และมีการเชื่อมโยงไปยัง
เพ unsecureและ
เพจที่มีความปลอดภัยให้คุณจะสร้างในภายหลัง
- ในการFrontPageแถบเครื่องมือ คลิกหน้าใหม่.
- สลับไปยังมุมมอง HTML และลบ HTML ที่มีอยู่ทั้งหมดแล้ว รหัส
- พิมพ์ หรือวางรหัสต่อไปนี้ลงในเพจ:
<% @language="vbscript" %>
<html>
<head><title>Home Page</title></head>
<body>
<h3>Home Page</h3>
<p>You are logged on as:
<%
If Len(Session("UID")) = 0 Then
Response.Write "<b>You are not logged on.</b>"
Else
Response.Write "<b>" & Session("UID") & "</b>"
End If
%>
</p>
<ul>
<li><a href="secure.asp">Secure Page</a></li>
<li><a href="unsecure.asp">Unsecure Page</a></li>
</ul>
</body>
</html>
- บันทึกเพเป็นdefault.aspในโฟลเดอร์รากของเว็บของคุณ
- ปิดเพจนี้ โดยการคลิกปิดในการแฟ้ม:เมนู
ขั้นตอน 5b - สร้างเพจที่มี unsecure
เพจนี้มีเพจ ASP พื้นฐานที่ทุกคนสามารถเรียกดู
- ในการFrontPageแถบเครื่องมือ คลิกหน้าใหม่.
- สลับไปยังมุมมอง HTML และลบ HTML ที่มีอยู่ทั้งหมดแล้ว รหัส
- พิมพ์ หรือวางรหัสต่อไปนี้ลงในเพจ:
<% @language="vbscript" %>
<html>
<head><title>Unsecure Page</title></head>
<body>
<h3>Unsecure Page</h3>
<p>You are logged on as:
<%
If Len(Session("UID")) = 0 Then
Response.Write "<b>You are not logged on.</b>"
Else
Response.Write "<b>" & Session("UID") & "</b>"
End If
%>
</p>
<p><a href="default.asp">Back to default</a></p>
</body>
</html>
- บันทึกเพเป็นdefault.aspในโฟลเดอร์รากของเว็บของคุณ
- ปิดเพจนี้ โดยการคลิกปิดในการแฟ้ม:เมนู
ขั้นตอนที่ 5 c - สร้างเพจที่มีความปลอดภัย
หน้าในขั้นตอนนี้จะเหมือนกับหน้า unsecure ที่คุณสร้างขึ้นใน
ขั้นตอน 5b, ยก เว้น ว่า คุณ จะ เพิ่ม บรรทัด ต่อ ไป นี้ ของ รหัส ที่ อยู่ ใกล้ ด้าน บน ของ หน้า:
<!--#include virtual="/logon/_private/logon.inc"-->
ทำ การ เพิ่ม บรรทัด ของ รหัส นี้ ไป ยัง หน้า เว็บ ASP ใดๆ ให้ หน้า เว็บ เพจ "ปลอดภัย" ได้
- ในการFrontPageแถบเครื่องมือ คลิกหน้า ใหม่.
- สลับ ไป ยัง มุม มอง HTML แล้ว ลบ และ HTML ที่ มี อยู่ ทั้ง หมด รหัส ได้
- พิมพ์ หรือ วาง รหัส ต่อ ไป นี้ ลง ใน เพจ:
<% @language="vbscript" %>
<!--#include virtual="/logon/_private/logon.inc"-->
<html>
<head><title>Secure Page</title></head>
<body>
<h3>Secure Page</h3>
<p>You are logged on as:
<%
If Len(Session("UID")) = 0 Then
Response.Write "<b>You are not logged on.</b>"
Else
Response.Write "<b>" & Session("UID") & "</b>"
End If
%>
</p>
<p><a href="default.asp">Back to default</a></p>
</body>
</html>
- บันทึกเพเป็นsecure.aspในโฟลเดอร์รากของการเข้าสู่ระบบของเว็บ
- ปิดเพจนี้ โดยการคลิกปิดในการแฟ้ม:เมนู
ขั้นตอน 5 d - สร้างเพจที่เข้าสู่ระบบ
หน้าการเข้าสู่ระบบถูกออกแบบมาเพื่อให้มีลักษณะเป็นกล่องโต้ตอบเข้าสู่ระบบ Windows มาตรฐาน ผู้ใช้พยายามเข้าถึง
เพจที่มีความปลอดภัยส่งไปยังหน้านี้ให้พิมพ์ชื่อผู้ใช้และรหัสผ่านของตนเอง
- ในการFrontPageแถบเครื่องมือ คลิกหน้าใหม่.
- สลับไปยังมุมมอง HTML และลบ HTML ที่มีอยู่ทั้งหมดแล้ว รหัส
- พิมพ์ หรือวางรหัสต่อไปนี้ลงในเพจ:
<% @language="vbscript" %>
<!--#include virtual="/logon/_private/logon.inc"-->
<%
' Was this page posted to?
If UCase(Request.ServerVariables("HTTP_METHOD")) = "POST" Then
' If so, check the username/password that was entered.
If ComparePassword(Request("UID"),Request("PWD")) Then
' If comparison was good, store the user name...
Session("UID") = Request("UID")
' ...and redirect back to the original page.
Response.Redirect Session("REFERRER")
End If
End If
%>
<html>
<head><title>Logon Page</title>
<style>
body { font-family: arial, helvetica }
table { background-color: #cccccc; font-size: 9pt; padding: 3px }
td { color: #000000; background-color: #cccccc; border-width: 0px }
th { color: #ffffff; background-color: #0000cc; border-width: 0px }
</style>
</head>
<body bgcolor="#000000" text="#ffffff">
<h3 align="center"> </h3>
<div align="center"><center>
<form action="<%=LOGON_PAGE%>" method="POST">
<table border="2" cellpadding="2" cellspacing="2">
<tr>
<th colspan="4" align="left">Enter User Name and Password</th>
</tr>
<tr>
<td> </td>
<td colspan="2" align="left">Please type your user name and password.</td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="left">Site</td>
<td align="left"><%=Request.ServerVariables("SERVER_NAME")%>  </td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="left">User Name</td>
<td align="left"><input name="UID" type="text" size="20"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td align="left">Password</td>
<td align="left"><input name="PWD" type="password" size="20"></td>
<td> </td>
</tr>
<tr>
<td> </td>
<td colspan="2" align="center"><input type="submit" value="LOGON"></td>
<td> </td>
</tr>
</table>
</form>
</center></div>
</body>
</html>
- บันทึกเพเป็นlogon.aspในโฟลเดอร์รากของการเข้าสู่ระบบของเว็บ
- ปิดเพจนี้ โดยการคลิกปิดในการแฟ้ม:เมนู
ขั้นตอน 5e - สร้างการเข้าสู่ระบบรวมถึงแฟ้ม
แฟ้มนี้รวมผู้ใช้ชื่อและรหัสผ่านฟังก์ชัน และถูกใช้ โดยทั้งสองแบบ
เพจที่มีความปลอดภัยและ
หน้าการเข้าสู่ระบบ.
- ในการFrontPageแถบเครื่องมือ คลิกหน้าใหม่.
- สลับไปยังมุมมอง HTML และลบ HTML ที่มีอยู่ทั้งหมดแล้ว รหัส
- พิมพ์ หรือวางรหัสต่อไปนี้ลงในเพจ:
<%
' Do not cache this page.
Response.CacheControl = "no-cache"
' Define the name of the users table.
Const USERS_TABLE = "tblUsers"
' Define the path to the logon page.
Const LOGON_PAGE = "/logon/logon.asp"
' Define the path to the logon database.
Const MDB_URL = "/logon/_private/logon.mdb"
' Check to see whether you have a current user name.
If Len(Session("UID")) = 0 Then
' Are you currently on the logon page?
If LCase(LOGON_PAGE) <> LCase(Request.ServerVariables("URL")) Then
' If not, set a session variable for the page that made the request...
Session("REFERRER") = Request.ServerVariables("URL")
' ...and redirect to the logon page.
Response.Redirect LOGON_PAGE
End If
End If
' This function checks for a username/password combination.
Function ComparePassword(UID,PWD)
' Define your variables.
Dim strSQL, objCN, objRS
' Set up your SQL string.
strSQL = "SELECT * FROM " & USERS_TABLE & _
" WHERE (UID='" & ParseText(UID) & _
"' AND PWD='" & ParseText(PWD) & "');"
' Create a database connection object.
Set objCN = Server.CreateObject("ADODB.Connection")
' Open the database connection object.
objCN.Open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & _
Server.MapPath(MDB_URL) & "; uid=admin; pwd="
' Run the database query.
Set objRS = objCN.Execute(strSQL)
' Set the status to true/false for the database lookup.
ComparePassword = Not(objRS.EOF)
' Close your database objects.
Set objRS = Nothing
Set objCN = Nothing
End Function
' This function restricts text to alpha-numeric data only.
Function ParseText(TXT)
Dim intPos, strText, intText
For intPos = 1 TO Len(TXT)
intText = Asc(Mid(TXT,intPos,1))
If (intText > 47 And intText < 58) Or _
(intText > 64 And intText < 91) Or _
(intText > 96 And intText < 123) Then
strText = strText & Mid(TXT,intPos,1)
End if
Next
ParseText = strText
End Function
%> - บันทึกเพเป็นlogon.incในการ_privateโฟลเดอร์ของคุณเข้าสู่ระบบเว็บ
- ปิดเพจนี้ โดยการคลิกปิดในการแฟ้ม:เมนู
ขั้นตอนที่ 6 - ทดสอบเว็บเข้าสู่ระบบ
- ใน FrontPageรายการโฟลเดอร์คลิกdefault.asp. ในการFrontPageแถบเครื่องมือ คลิกแสดงตัวอย่างในเบราว์เซอร์.
- เบราว์เซอร์ของคุณในขณะนี้โหลดโฮมเพจหรือตัวอย่าง และแสดงว่า คุณไม่ได้บันทึกไว้บน
- คลิกการเชื่อมโยงสำหรับเพ unsecure เพจที่โหลด และแสดงว่า คุณไม่ได้บันทึกไว้บน คลิกการเชื่อมโยงกลับไปยังหน้าเริ่มต้น
- คลิกการเชื่อมโยงไปยังเพจที่มีความปลอดภัย หน้าการเข้าสู่ระบบโหลดแทนของเพจที่มีความปลอดภัย
- ประเภท:testuserสำหรับชื่อผู้ใช้ พิมพ์รหัสผ่าน:สำหรับรหัสผ่าน แล้วคลิกเข้าสู่ระบบ.
- เพจที่มีความปลอดภัยปรากฏขึ้น และแสดงว่า คุณเข้าสู่ระบบในฐานะtestuser. คลิกการเชื่อมโยงกลับไปยังหน้าเริ่มต้น
- โฮมเพจหรือตัวอย่างที่โหลด และแสดงว่า คุณเข้าสู่ระบบในฐานะtestuser.
- คลิกการเชื่อมโยงสำหรับเพ unsecure เพจที่โหลด และแสดงว่า คุณเข้าสู่ระบบในฐานะ testuser
ตัวอย่างการเข้าสู่ระบบที่กำหนดเอง
คุณสามารถกำหนดตัวอย่างการเข้าสู่ระบบด้วยวิธีการดังต่อไปนี้:
- เพิ่มชื่อผู้ใช้และรหัสผ่าน: คุณสามารถเปิดฐานข้อมูล โดยการคลิกสองครั้งใน FrontPage และเพิ่มผู้ใช้ไปยังตาราง tblUsers แล้ว ได้
- การรักษาความปลอดภัยอื่น ๆ ของเว็บเพจ: การรักษาความปลอดภัยของเว็บเพอื่นในเว็บของคุณ คุณต้องบันทึกแฟ้ม ด้วยนามสกุลชื่อแฟ้ม ASP ตัวอย่างเช่นmypage.aspแล้ว เพิ่มสองบรรทัดต่อไปนี้ไปยังด้านบนมากของแฟ้ม:
<% @language="vbscript" %>
<!--#include virtual="/logon/_private/logon.inc"-->
ระบุบรรทัดแรกที่ คุณใช้ Microsoft Visual Basic การเขียนสคริปต์ Edition (VBScript) สำหรับภาษาสคริปต์ของคุณ และบรรทัดสองรวมผู้ใช้ชื่อและรหัสผ่านฟังก์ชันจากนั้นเข้าสู่ระบบรวมถึงแฟ้มให้คุณสร้างไว้ก่อนหน้านี้
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการรวม Active Server หน้า (ASP) กับฐานข้อมูลและการรักษาความปลอดภัย คลิกหมายเลขบทความต่อไปนี้เพื่อดูบทความในฐานความรู้ของ Microsoft:
299987
(http://support.microsoft.com/kb/299987/
)
วิธีการใช้ฐานข้อมูลและเซสชัน ASP ใช้การรักษาความปลอดภัย ASP
300382
(http://support.microsoft.com/kb/300382/
)
วิธีการสร้างการเชื่อมต่อฐานข้อมูลจากเพจที่มี ASP ใน IIS
หมายเลขบทความ (Article ID): 321439 - รีวิวครั้งสุดท้าย: 19 ตุลาคม 2553 - Revision: 2.0
ใช้กับ
- Microsoft FrontPage 2002 Standard Edition
| kbdatabase kbasp kbprogramming kbhowtomaster kbmt KB321439 KbMtth |
แปลโดยคอมพิวเตอร์ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้:
321439
(http://support.microsoft.com/kb/321439/en-us/
)