แนะนำ: โปรดทราบ! เทคนิคการโจมตีสคริปต์และการป้องกันทั่วไป ASP เนื่องจากความสะดวกสบายและความสะดวกในการใช้ ASP โปรแกรมพื้นหลังของเว็บไซต์มากขึ้นเรื่อย ๆ จึงใช้ภาษาสคริปต์ ASP อย่างไรก็ตามเนื่องจาก ASP มีช่องโหว่ด้านความปลอดภัยบางอย่างมันจะเปิดโอกาสให้แฮ็กเกอร์ใช้ประโยชน์จากมันหากพวกเขาไม่ระวัง ในความเป็นจริงความปลอดภัยไม่เพียง แต่เป็นเรื่องของการจัดการเครือข่าย แต่โปรแกรมเมอร์จะต้องอยู่ในความปลอดภัยบางอย่าง
เมื่อเราใช้ส่วนประกอบ ADO ในตัวของ ASP สำหรับการเขียนโปรแกรมฐานข้อมูลเรามักจะเปิดการเชื่อมต่อที่จุดเริ่มต้นของสคริปต์และปิดมันในตอนท้ายของสคริปต์ แต่สำหรับสคริปต์ขนาดใหญ่การเชื่อมต่อจะเปิดอีกต่อไปในกรณีส่วนใหญ่มากกว่าที่จะเปิด ดังนั้นเพื่อบันทึกทรัพยากรเซิร์ฟเวอร์การเชื่อมต่อควรปิดให้มากที่สุดเท่าที่จะทำได้เพื่อเพิ่มทรัพยากรที่ครอบครองโดยการเชื่อมต่อ เทคนิคการปิดการเชื่อมต่อของชุดระเบียนโดยไม่ต้องปิดชุดบันทึกเรียกว่าชุดบันทึกที่ไม่เชื่อมต่อและชุดบันทึกนี้เรียกว่าชุดบันทึกที่เชื่อมต่อ
ลองใช้ตัวอย่างเพื่อแสดงให้เห็นถึงการใช้เทคโนโลยีนี้ (Northwind.mdb เป็นฐานข้อมูลที่มาพร้อมกับ Microsoft Access97 และไฟล์ ADOVBS.INC สามารถพบได้ใน C:/ไฟล์โปรแกรม/ไฟล์/ระบบ/ADO):
| ต่อไปนี้เป็นเนื้อหาที่ยกมา: < % @Language = VBScript %> <!-#รวมไฟล์ = adovbs.inc-> % Response.exext = 0 Dim CNN, OBJRS, Strout, Strq, Strc strc = driver = {microsoft access driver (*.mdb)}; dbq = & server.mappath ( /asp24) & /northwind.mdb; 'ทำการเชื่อมต่อ ตั้งค่า cnn = server.createObject (adodb.connection) cnn.open strc 'สร้างวัตถุ recordset ตั้งค่า objrs = server.createObject (adodb.recordset) objrs.cursorLocation = aduseclient objrs.cursortype = appenstatic objrs.locktype = adlockoptimistic strq = เลือก ID เรือบรรทุกสินค้าชื่อ บริษัท โทรศัพท์จากเรือบรรทุกสินค้า objrs.open strq, cnn ,, adcmdtext ตั้งค่า objrs.activeConnection = ไม่มีอะไร 'ชุดบันทึกการเชื่อมต่อ cnn.close 'ปิดการเชื่อมต่อ ตั้งค่า cnn = ไม่มีอะไร Response.write <html >< ร่างกาย> 'ต่อไปนี้ใช้ชุดบันทึกที่ไม่เชื่อมต่อ ทำในขณะที่ (ไม่ใช่ objrs.eof) strout = OBJRS (ID เรือบรรทุกสินค้า) &, & OBJRS (ชื่อ บริษัท ) &, & OBJRS (โทร) Response.write Server.htmlencode (strout) & <br> objrs.movenext วง Response.write <br> เตรียมที่จะเพิ่มหรือแทรกบันทึก: 'หากคุณต้องการอัปเดตฐานข้อมูลคุณต้องสร้างการเชื่อมต่อใหม่ ตั้งค่า cnn = server.createObject (adodb.connection) cnn.open strc ตั้งค่า objrs.activeConnection = cnn objrs.filter = ชื่อ บริษัท = 'Wu Feng' ถ้า objrs.eof แล้ว objrs.addnew OBJRS (ชื่อ บริษัท ) = Wu Feng OBJRS (โทร) = 571-7227298 objrs.update Response.write หากบันทึกที่ตรงกับเงื่อนไขนี้ไม่มีอยู่จะมีการเพิ่ม <br> อื่น OBJRS (โทร) = 571-7227071 Response.write หากบันทึกที่ตรงกับเงื่อนไขนี้มีอยู่แล้วอัปเดต <br> objrs.update สิ้นสุดถ้า ตั้งค่า objrs.activeConnection = ไม่มีอะไร cnn.close ตั้งค่า cnn = ไม่มีอะไร objrs.close ตั้งค่า objrs = ไม่มีอะไร Response.write </body ></html> % |
แชร์: ตัวอย่างคำแนะนำ ASP: ใช้ ASP เพื่อบันทึกจำนวนผู้ใช้ออนไลน์ จำนวนการเข้าชมอินเทอร์เน็ตเป็นปัญหาที่เกี่ยวข้องอย่างมากสำหรับชาวเน็ตทุกคนที่สร้างเว็บไซต์ คุณรู้ได้อย่างไรว่ามีคนเยี่ยมชมเว็บไซต์ของคุณกี่คน? จะบันทึกจำนวนการเข้าชมทุกวันได้อย่างไร? นี่คือวิธีแก้ปัญหา เมื่อผู้ใช้เริ่มเข้าถึงเว็บไซต์ GL ทางฝั่งเซิร์ฟเวอร์