ผู้แต่ง: Li Yanfang ฯลฯ
ข้อความที่ตัดตอนมาจาก sidi.com
จุดประสงค์หลักของการตั้งค่าไฟร์วอลล์สำหรับหน้าเว็บคือการให้บริการที่แตกต่างกันแก่ผู้เข้าชมที่แตกต่างกันตามเนื้อหาของหน้าเว็บ อย่างไรก็ตามซอร์สโค้ดของหน้าเว็บสามารถเห็นได้ในเบราว์เซอร์ลูกค้า ASP เป็นเลเยอร์กลางของโครงสร้างไคลเอนต์/เซิร์ฟเวอร์บนเว็บ โดย ASP บนลูกค้า ในเวลานี้ผ่าน ASP และ SQL Server เราสามารถออกแบบแอพพลิเคชั่นที่เรียบง่ายมีประสิทธิภาพและเชื่อถือได้ มาแนะนำกระบวนการจัดตั้งสั้น ๆ
1. สร้างการเข้าสู่ระบบ
สร้างการเข้าสู่ระบบและรหัสผ่านของผู้เข้าชมบน SQL Server
2. สร้างฐานข้อมูล DSN บนเซิร์ฟเวอร์เครือข่าย
ใช้ "ODBC Data Source Manager" ใน "แผงควบคุม" เพื่อสร้างชื่อทรัพยากรข้อมูล ODBC สำหรับฐานข้อมูลนั่นคือ DSN เพื่อให้คุณสามารถเชื่อมต่อฐานข้อมูลเฉพาะโดยใช้ฐานข้อมูล DSN ในอนาคต
"ODBC Data Source Manager" จัดเตรียม DSN สามตัวซึ่งเป็น DSN ผู้ใช้ระบบ DSN และไฟล์ DSN ในหมู่พวกเขาผู้ใช้ DSN จะบันทึกข้อมูลการกำหนดค่าที่สอดคล้องกันในรีจิสทรีของ Windows แต่อนุญาตให้สร้างผู้ใช้ DSN เข้าสู่ระบบเท่านั้น System DSN ยังเก็บรักษาข้อมูลการกำหนดค่าที่เกี่ยวข้องในระบบรีจิสทรีของระบบ แต่แตกต่างจากผู้ใช้ DSN ระบบ DSN ช่วยให้ผู้ใช้ทั้งหมดของเซิร์ฟเวอร์เข้าสู่ระบบทั้งหมดใช้
ซึ่งแตกต่างจาก DSN ฐานข้อมูลสองข้างต้นไฟล์ DSN จะบันทึกข้อมูลการกำหนดค่าเฉพาะในไฟล์เฉพาะบนฮาร์ดดิสก์ ไฟล์ DSN อนุญาตให้ผู้ใช้ทุกคนเข้าสู่ระบบเซิร์ฟเวอร์และแม้จะไม่มีการเข้าสู่ระบบของผู้ใช้ แต่ยังสามารถให้การสนับสนุนการเข้าถึงฐานข้อมูล DSN นอกจากนี้เนื่องจากไฟล์ DSN ถูกเก็บไว้ในไฟล์ฮาร์ดดิสก์จึงสามารถคัดลอกไปยังเครื่องอื่นได้อย่างง่ายดาย ด้วยวิธีนี้ผู้ใช้สามารถใช้ DSN ที่สร้างขึ้นโดยตรงบนเครื่องอื่นโดยไม่มีการเปลี่ยนแปลงใด ๆ ในระบบรีจิสทรีของระบบ
ในฐานข้อมูลสามประการข้างต้น DSN แนะนำให้ผู้ใช้เลือกระบบ DSN หรือไฟล์ DSN
สร้าง DSN ใหม่ผู้ใช้จะเลือก "เพิ่ม" ก่อนจากนั้นเลือกผู้ใช้เพื่อสร้างประเภทฐานข้อมูลที่เชื่อมต่อในหน้าต่าง POP -UP และเลือกรายการ "SQL Server" ในรายการ หากผู้ใช้สร้างไฟล์ DSN ให้คลิกปุ่ม "ถัดไป" และป้อนชื่อไฟล์และเส้นทางการจัดเก็บของไฟล์ DSN ที่จะสร้างในกล่องโต้ตอบที่ตามมา หากผู้ใช้สร้างระบบ DSN ให้คลิกปุ่ม "เสร็จสมบูรณ์"
หลังจากเลือกฐานข้อมูลผู้ใช้จะต้องตั้งค่าฐานข้อมูล DSN ผู้ใช้จำเป็นต้องเลือกเซิร์ฟเวอร์เฉพาะสำหรับการให้บริการฐานข้อมูลตั้งชื่อผู้ใช้และรหัสผ่านและฐานข้อมูลที่พวกเขาจะเชื่อมต่อ
ประการที่สามการเขียนโปรแกรม
ต่อไปนี้เป็นฟังก์ชั่นไฟร์วอลล์หน้าง่าย หน้านี้ จำกัด เฉพาะผู้ใช้ของเครือข่ายภายในของหน่วยนี้เพื่อเยี่ยมชม (ขอให้สมมติว่าที่อยู่ IP ของเครือข่ายภายในอยู่ระหว่าง10.61.96.ถึง10.65.97.) นี่คือคุณสมบัติ ServerVariables ของวัตถุคำขอเพื่อให้ได้ค่าของตัวแปรสภาพแวดล้อมผ่านมัน
ซอร์สโค้ดโปรแกรม (Firewall.ASP) มีดังนี้:
<html>
<head>
"meta http-equiv = เนื้อหาประเภทเนื้อหา = text/html; charset = gb_2312-80>
"ชื่อเมตา = เนื้อหาทั่วไป = Microsoft FrontPage Express 2.0>
<title> Firewall.asp </title>
</head>
"body background =#800080>
-
'ใช้ request.serverVariables (remote_addr) เพื่อรับที่อยู่ IP และบันทึกไว้ในตัวแปร remoteip
remoteip = request.serverVariables (remote_addr)
stip = cstr (remoteip)
'รับค่าของย่อหน้าที่สามของที่อยู่ IP และบันทึกไว้ใน STIP
สำหรับ i = 1 ถึง 2
stip = ขวา (stip, len (stip) -instr (1, stip,.))))
ต่อไป
stip = ซ้าย (stip, instr (1, stip,.) 1)
'การทดสอบความถูกต้องที่อยู่ IP และการตรวจสอบรหัสผ่านรวมถึงสองด้าน: หากที่อยู่ IP เป็นไปตามมาตรฐานให้ผ่านการตรวจสอบ
ถ้า (ซ้าย (remoteip, 5) <> 10.61 หรือ stip <96 หรือ stip> 97) แล้ว
username = request.form (t1)
รหัสผ่าน = request.form (t2)
ตั้งค่า fs = createObject (scripting.filesystemobject)
ตั้งค่า thisfile = fs.opentextfile (dsn.txt)
db_loc = thisfile.readline
thisfile.close
cnstr = db_loc && uid = && ชื่อผู้ใช้ &&;
เมื่อเกิดข้อผิดพลาดต่อไป
ตั้งค่า cn = server.createObject (adodb.connection)
cn.open cnstr
ถ้า err = 3709 แล้ว %>
"FONT COLOR =#FF0000> ฉันขอโทษผู้ใช้: <%= ชื่อผู้ใช้%> ไม่สามารถเข้าถึงได้ทางด้านขวาหรือรหัสผ่านไม่ถูกต้อง! <br> </font> </p>
"วิธีการฟอร์ม = โพสต์"
"P Align = ศูนย์> ชื่อผู้ใช้:" อินพุตประเภท = ชื่อข้อความ = t1 size = 20> รหัสผ่าน: "ประเภทอินพุต = ชื่อรหัสผ่าน = t2 size = 20>" ประเภทอินพุต = subment value = e = b1> <อินพุตประเภท = รีเซ็ต value = ทั้งหมดที่เขียนใหม่ชื่อ = b2>
</p>
</form>
<%สิ้นสุดถ้า
cn.close
ตั้งค่า cn = ไม่มีอะไร%>
< %อื่น %>
ขอแสดงความยินดีคุณได้ผ่านการตรวจสอบแล้วคุณสามารถใช้ทรัพยากรของเว็บไซต์นี้ได้โดยตรง!
<%end ถ้า%>
</body>
</html>
แก้ไขข้อมูลข้างต้นเล็กน้อยเช่นที่อยู่ IP โปรแกรมสามารถเรียกใช้ได้
แน่นอนฟังก์ชั่นไฟร์วอลล์ข้างต้นจะรับรู้ในหน้าเท่านั้น หากเว็บไซต์มีหลายหน้าคุณสามารถตั้งค่าตัวแปรเซสชันเพื่อลงนามผู้ใช้และตัดสินในหน้าด้านล่าง
หมายเหตุ: ฉันไม่ได้ดูข้อความต้นฉบับที่ดีและเพื่อนของฉันแนะนำฉัน ถ้าคุณรู้สึกแย่อย่าดู อย่างไรก็ตามตอนนี้เราเป็น Dotnet แก่นแท้ ฮ่า