แนะนำ: 18 กฎความปลอดภัยสำหรับฐานข้อมูล ASP Access 18 กฎความปลอดภัยสำหรับฐานข้อมูล ASP Access: 1. ก่อนอื่นเราต้องกรองเนื้อหาทั้งหมดที่ส่งโดยลูกค้ารวมถึง? id = n และยัง SELECT และ ASP File Operation Syntax ของฐานข้อมูลการดำเนินการในรหัส HTML ที่ส่ง คุณสามารถหลบหนีอักขระที่ส่งแล้วบันทึกไว้ในฐานข้อมูล 2. จากนั้นคุณต้องอนุญาตหน้าเว็บที่เข้าถึงฐานข้อมูลการเข้าถึง
การเชื่อมต่อฐานข้อมูล:
-
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open driver = {Microsoft Access Driver (*.mdb)}; dbq = & server.mappath (ชื่อฐานข้อมูล)
-
เปิดฐานข้อมูล:
exec = select * จากตารางฐานข้อมูล
ตั้งค่า rs = server.createObject (adodb.recordset)
Rs.Open Exec, Conn, 1,1
พารามิเตอร์ 1, 1 ถูกอ่าน
อ่านรูปแบบเนื้อหา: <%= rs (ฟิลด์)%>
เพิ่ม Handler Record:
-
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open driver = {Microsoft Access Driver (*.mdb)}; dbq = & server.mappath (ชื่อฐานข้อมูล)
name = request.form (ฟิลด์) ชื่อโทร, ข้อความคือค่าฟิลด์ที่กำหนดโดยแบบฟอร์มส่ง
tel = request.form (ฟิลด์)
message = request.form (ฟิลด์)
exec = แทรกลงในชื่อตาราง (ฟิลด์) ค่า ('; ฟิลด์';) หลายตัวคั่นด้วยเครื่องหมายจุลภาค
conn.execute exec ส่งโดยใช้ Execute
conn.close
ตั้งค่า conn = ไม่มีอะไร
-
ตัวจัดการค้นหา:
-
name = request.form (ฟิลด์) ชื่อโทรคือค่าฟิลด์ที่กำหนดโดยแบบฟอร์มส่ง
tel = request.form (ฟิลด์)
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open driver = {Microsoft Access Driver (*.mdb)}; dbq = & server.mappath (ชื่อฐานข้อมูล)
exec = select * จากตารางที่ name = '; สนาม'; และโทรศัพท์ = ฟิลด์
ตั้งค่า rs = server.createObject (adodb.recordset)
Rs.Open Exec, Conn, 1,1
-
'; เนื้อหาที่ค้นหาบนหน้าถูกส่งออก
-
ทำในขณะที่ไม่ใช่ RS.EOF
%> <tr>
<td> <%= rs (ชื่อ)%> </td>
<td> <%= rs (โทร)%> </td>
<td> <%= rs (เวลา)%> </td>
</tr>
-
Rs.Movenext
วง
-
ลบบันทึก Handler:
-
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open driver = {Microsoft Access Driver (*.mdb)}; dbq = & server.mappath (ชื่อฐานข้อมูล)
exec = delete * จากชื่อตารางที่ number = & request.form (id)
conn.execute exec
-
ปรับเปลี่ยน Handler Record:
-
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open driver = {Microsoft Access Driver (*.mdb)}; dbq = & server.mappath (ชื่อฐานข้อมูล)
exec = select * จากชื่อตารางที่ number = & request.form (id)
ตั้งค่า rs = server.createObject (adodb.recordset)
Rs.Open Exec, Conn, 1,3 '; 1,3 หมายถึงการดัดแปลง
rs (ชื่อ) = request.form (ฟิลด์) '; ชื่อ, โทร, ข้อความ, ข้อความคือค่าฟิลด์ที่ตั้งค่าโดยการส่งแบบฟอร์ม
RS (tel) = request.form (ฟิลด์)
rs (ข้อความ) = request.form (ฟิลด์)
Rs.update
Rs.close
ตั้งค่า rs = ไม่มีอะไร
conn.close
ตั้งค่า conn = ไม่มีอะไร
-
แก้ไขโปรแกรมการดำเนินการบันทึก: ป้อนหน้าหมายเลขรหัส >>> ส่งออกข้อมูล ID ที่เกี่ยวข้อง >>>>>>> แก้ไขตัวจัดการโดยตรงโดยตรง
ตัวอย่างตัวจัดการการเข้าสู่ระบบพื้นหลัง:
-
ชื่อสลัวรหัสผ่าน
name = request.form (ชื่อ)
รหัสผ่าน = request.form (รหัสผ่าน)
Dim Exec, Conn, RS
exec = select *จากชื่อตารางที่ (name = '; & field &'; และ password = '; & field &';)
SET Conn = Server.CreateObject (ADODB.Connection)
conn.open driver = {Microsoft Access Driver (*.mdb)}; dbq = & server.mappath (ชื่อฐานข้อมูล)
ตั้งค่า rs = server.createObject (adodb.recordset)
Rs.Open Exec, Conn
ถ้าไม่ใช่ rs.eof แล้ว
Rs.close
conn.close
เซสชัน (ตรวจสอบ) = ใช่
เซสชัน (ตรวจสอบ) = ขวา
Response.redirect index.asp
อื่น
เซสชัน (ตรวจสอบ) = ไม่
เซสชัน (ตรวจสอบ) = ผิด
Response.redirect Login.asp
สิ้นสุดถ้า
-
แต่ละหน้าพื้นหลังบวก:
<%ถ้าไม่ใช่เซสชัน (ตรวจสอบ) = ใช่แล้ว '; เซสชันกำหนดตัวแปรสตริงที่ตรวจสอบแล้ว
Response.redirect Login.asp
อื่น
-
แบ่งปัน: คลาสที่มุ่งเน้นวัตถุใน ASP ระบบการรายงานที่มีคนทำเพื่อ บริษัท ได้วางแผนที่จะปรับเปลี่ยนและปรับให้เหมาะสมอีกครั้ง มันใช้ ASP หากคุณใช้เชิงวัตถุคุณต้องมีคลาส โชคดีที่ VBS รองรับการอ้างอิงต่อไปนี้: % myclass dim var 'ตัวแปรสาธารณะต้องใช้ตัวแปรส่วนตัว Dim Var2' ไม่จำเป็นต้องใช้การตอบสนองย่อยย่อย 1