หมายเหตุเกี่ยวกับเว็บเพจการพัฒนา ASP ได้รับการแนะนำจากบล็อกของ Rainman_net
คำหลัก ASP การพัฒนาเว็บมีความสำคัญที่ควรคำนึงถึง
แหล่งที่มา
ไม่เคยเชื่อว่าเนื้อหาที่ผู้ใช้ป้อนมีขนาดที่เหมาะสมหรือมีอักขระที่เหมาะสม ควรตรวจสอบการป้อนข้อมูลของผู้ใช้ก่อนที่จะใช้เพื่อตัดสินใจ ตัวเลือกที่ดีที่สุดคือการสร้างคอมโพเนนต์ COM+ เพื่อให้คุณสามารถเรียกได้จากหน้า ASP เพื่อตรวจสอบการป้อนข้อมูลของผู้ใช้ นอกจากนี้คุณยังสามารถใช้เมธอด server.htmlencode, เมธอด Server.urlencode หรือหนึ่งในตัวอย่างโค้ดที่ด้านล่างของหน้านี้
อย่าสร้างสตริงการเชื่อมต่อฐานข้อมูลในหน้า ASP โดยการเชื่อมต่อสตริงที่ป้อนโดยผู้ใช้ ผู้ใช้ที่เป็นอันตรายสามารถเข้าถึงฐานข้อมูลโดยการแทรกรหัสลงในอินพุตของพวกเขา หากคุณใช้ฐานข้อมูล SQL ให้ใช้ขั้นตอนที่เก็บไว้เพื่อสร้างสตริงการเชื่อมต่อฐานข้อมูล
อย่าใช้ชื่อบัญชีผู้ดูแลระบบ SQL เริ่มต้น SA ผู้ใช้ทุกคนที่ใช้ SQL รู้ว่ามีบัญชี SA อยู่ สร้างบัญชีการจัดการ SQL อื่นด้วยรหัสผ่านที่ปลอดภัยและเชื่อถือได้และลบบัญชี SA
ก่อนที่คุณจะจัดเก็บรหัสผ่านผู้ใช้ไคลเอนต์โปรดใช้อัลกอริทึมการแฮช, การเข้ารหัส Base64 สำหรับรหัสผ่านเหล่านี้หรือใช้ Server.htmlencode หรือ Server.urlencode สำหรับการเข้ารหัส คุณยังสามารถใช้ตัวอย่างรหัสที่ด้านล่างของหน้านี้เพื่อตรวจสอบอักขระในรหัสผ่านไคลเอนต์
อย่าวางชื่อบัญชีผู้ดูแลระบบหรือรหัสผ่านในสคริปต์การดูแลระบบหรือหน้า ASP
อย่าตัดสินใจในรหัสตามชื่อที่ร้องขอเนื่องจากข้อมูลชื่อเรื่องสามารถปลอมแปลงได้โดยผู้ใช้ที่เป็นอันตราย เข้ารหัสข้อมูลที่ร้องขอหรือใช้ตัวอย่างรหัสต่อไปนี้เสมอเพื่อตรวจสอบอักขระที่มีอยู่
อย่าเก็บข้อมูลที่ปลอดภัยในคุกกี้หรือซ่อนฟิลด์อินพุตในหน้าเว็บ
ใช้ Secure Sockets Layer (SSL) เสมอสำหรับแอปพลิเคชันที่ใช้เซสชันเพื่อหลีกเลี่ยงความเสี่ยงในการส่งคุกกี้เซสชันโดยไม่ต้องเข้ารหัส หากคุกกี้เซสชันไม่ได้เข้ารหัสผู้ใช้ที่เป็นอันตรายสามารถใช้คุกกี้เซสชันในแอปพลิเคชันหนึ่งเพื่อป้อนแอปพลิเคชันอื่นในกระบวนการเดียวกัน
เมื่อเขียนแอปพลิเคชัน ISAPI ตัวกรองหรือวัตถุ COM+ โปรดทราบถึงบัฟเฟอร์ล้นเนื่องจากขนาดของตัวแปรและข้อมูล นอกจากนี้โปรดทราบว่าปัญหาการทำให้เป็นมาตรฐานที่อาจเกิดจากการตีความเช่นการตีความชื่อพา ธ สัมบูรณ์เป็นชื่อพา ธ ที่สัมพันธ์กันหรือ URL
โทเค็นจำลองจะล้าสมัยเมื่อแอปพลิเคชัน ASP ทำงานภายในสวิตช์ชุดเดียว (STA) ไปยังหน่วยมัลติเธรด (MTA) สิ่งนี้สามารถทำให้แอปพลิเคชันทำงานได้โดยไม่ต้องจำลองทำให้สามารถทำงานได้อย่างมีประสิทธิภาพด้วยตัวตนที่อาจอนุญาตให้เข้าถึงทรัพยากรอื่น ๆ ได้อย่างมีประสิทธิภาพ หากคุณต้องสลับโมเดลเกลียวให้ปิดการใช้งานแอปพลิเคชันและถอนการติดตั้งก่อนที่จะทำการเปลี่ยนแปลง