การบรรลุความปลอดภัยของเว็บไซต์เกี่ยวข้องกับประเด็นต่อไปนี้:
การตรวจสอบตัวตน : กระบวนการยืนยันตัวตนและความถูกต้องของผู้ใช้ การรับรองความถูกต้องสี่ประเภทมีให้ใน ASP.NET:
การรับรองวินโดวส์
การรับรองความถูกต้องของแบบฟอร์ม
การรับรองความถูกต้อง
การรับรองความถูกต้องแบบกำหนดเอง
การอนุญาต : กระบวนการกำหนดและกำหนดบทบาทเฉพาะให้กับผู้ใช้เฉพาะราย
การรักษาความลับ : รวมการเข้ารหัสสำหรับเบราว์เซอร์ไคลเอ็นต์และเว็บเซิร์ฟเวอร์
ความสมบูรณ์ : รักษาความสมบูรณ์ของข้อมูล ตัวอย่างเช่น ใช้ลายเซ็นดิจิทัล
โดยทั่วไป การรับรองความถูกต้องตามแบบฟอร์มเกี่ยวข้องกับการแก้ไขไฟล์การกำหนดค่าเครือข่ายและหน้าการลงทะเบียนด้วยรหัสยืนยัน ไฟล์การกำหนดค่าเครือข่ายสามารถเขียนได้ด้วยรหัสต่อไปนี้:
<configuration><system.web> <authentication mode="Forms"> <forms loginUrl ="login.aspx"/> </authentication> <การอนุญาต> <deny users="?"/> </authorization></system .web>......</ การกำหนดค่า>
หน้า Login.aspx ที่กล่าวถึงในโค้ดข้างต้นอาจมีโค้ดต่อไปนี้ รวมถึงชื่อผู้ใช้และรหัสผ่านสำหรับการตรวจสอบสิทธิ์ ซึ่งยากต่อการเข้ารหัสในไฟล์
ป้องกันบูลรับรองความถูกต้อง (สตริง uname, สตริงผ่าน){ if(uname == "Tom") { if(pass == "tom123") return true; } if(uname == "Dick") { if(pass == " Dick123") คืนค่าจริง; } if(uname == "Harry") { if(pass == "har123") คืนค่าจริง; } return false;} โมฆะสาธารณะ OnLogin (Object src, EventArgs e){ if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked); } อื่น ๆ { Response.Write("ชื่อผู้ใช้หรือรหัสผ่านไม่ถูกต้อง");
โปรดทราบว่าคลาส FormsAuthentication ใช้สำหรับกระบวนการตรวจสอบสิทธิ์
อย่างไรก็ตาม Visual Studio ช่วยให้การสร้าง การรับรองความถูกต้อง และการอนุญาตของผู้ใช้เป็นไปอย่างราบรื่นผ่านเครื่องมือการจัดการเว็บไซต์ โดยไม่ต้องเขียนโค้ดใดๆ เครื่องมือนี้ช่วยให้สามารถสร้างผู้ใช้และบทบาทได้
นอกจากนี้ ASP.NET ยังมีชุดควบคุมการเข้าสู่ระบบสำเร็จรูปที่สามารถควบคุมและดำเนินการทั้งหมดให้กับคุณได้
ในการตั้งค่าการรับรองความถูกต้องตามแบบฟอร์ม คุณต้องดำเนินการดังต่อไปนี้:
ฐานข้อมูลผู้ใช้เพื่อรองรับกระบวนการตรวจสอบความถูกต้อง
เว็บไซต์ที่ใช้ฐานข้อมูล
บัญชีผู้ใช้
บทบาท
ข้อจำกัดเกี่ยวกับกิจกรรมของผู้ใช้และกิจกรรมกลุ่ม
หน้าผู้ใช้ที่แสดงสถานะผู้ใช้และข้อมูลอื่นๆ
อินเทอร์เฟซการเข้าสู่ระบบที่อนุญาตให้ผู้ใช้เข้าสู่ระบบ รับรหัสผ่าน และเปลี่ยนรหัสผ่าน
ในการสร้างผู้ใช้ จะต้องดำเนินการตามขั้นตอนต่อไปนี้:
ขั้นตอนที่ 1: เลือกเว็บไซต์ -> กำหนดค่า ASP.NET เพื่อเปิดเครื่องมือการจัดการแอปพลิเคชันเว็บ
ขั้นตอนที่ 2: คลิกที่ตัวเลือกความปลอดภัย
ขั้นตอนที่ 3: เลือกตัวเลือก 'การรับรองความถูกต้องตามแบบฟอร์ม' เพื่อตั้งค่าประเภทการรับรองความถูกต้องเป็น 'จากอินเทอร์เน็ต'
ขั้นตอนที่ 4: คลิก 'สร้างผู้ใช้' หากคุณได้สร้างบทบาทแล้ว คุณสามารถมอบหมายบทบาทให้กับผู้ใช้ได้ในขั้นตอนนี้
ขั้นตอนที่ 5: สร้างเว็บไซต์และเพิ่มหน้าต่อไปนี้:
หน้ายินดีต้อนรับ
หน้าเข้าสู่ระบบ
หน้าลงทะเบียน
หน้าการกู้คืนรหัสผ่าน
หน้าเปลี่ยนรหัสผ่าน
ขั้นตอนที่ 6: ตั้งค่าการควบคุมสถานะการเข้าสู่ระบบในส่วนการเข้าสู่ระบบของหน้ายินดีต้อนรับ ประกอบด้วยกล่องมาตรฐานสองกล่อง: LoggedIn และ LoggedOut
LoggedIn มีตัวเลือกในการดูผู้ใช้ที่เข้าสู่ระบบ และ LoggedOut มีตัวเลือกในการดูผู้ใช้ที่ออกจากระบบ คุณสามารถเปลี่ยนคุณสมบัติข้อความเข้าสู่ระบบและออกจากระบบได้ในหน้าต่างคุณสมบัติ
ขั้นตอนที่ 7: ตั้งค่าการควบคุม LoginView ด้านล่างการควบคุม LoginStatus คุณสามารถตั้งค่าข้อความหรือการควบคุมอื่นๆ (เช่น ไฮเปอร์ลิงก์ ปุ่ม ฯลฯ) ที่แสดงว่าผู้ใช้เข้าสู่ระบบแล้วหรือไม่
ตัวควบคุมนี้มีสองกล่องมาตรฐาน: กล่องไม่ระบุชื่อและกล่อง LoggedIn เลือกแต่ละมุมมองและเขียนข้อความเพื่อให้ผู้ใช้แสดงเมื่อเลือกกล่องเกณฑ์ ควรวางข้อความในพื้นที่ที่มีเครื่องหมายสีแดงในภาพด้านล่าง
ขั้นตอนที่ 8: นักพัฒนาสร้างผู้ใช้แอปพลิเคชัน คุณอาจต้องการอนุญาตให้ผู้เยี่ยมชมสร้างบัญชีผู้ใช้ด้วย เพื่อให้บรรลุเป้าหมายนี้ คุณสามารถเพิ่มลิงก์ภายใต้ส่วนควบคุม LoginView ซึ่งจะพาคุณไปยังหน้าการลงทะเบียน
ขั้นตอนที่ 9: ตั้งค่าการควบคุม CreateUserWizard บนหน้าการลงทะเบียน ตั้งค่าคุณสมบัติ ContinueDestinationPageUrl ของตัวควบคุมนี้เพื่อให้แน่ใจว่าคุณสามารถไปที่เพจยินดีต้อนรับได้
ขั้นตอนที่ 10: สร้างหน้าเข้าสู่ระบบ ตั้งค่าการควบคุมการเข้าสู่ระบบในหน้านี้ การควบคุม LoginStatus จะเชื่อมต่อกับหน้าเข้าสู่ระบบโดยอัตโนมัติ คุณสามารถเปลี่ยนการตั้งค่าเริ่มต้นนี้ได้โดยทำการเปลี่ยนแปลงต่อไปนี้ในไฟล์การกำหนดค่าเครือข่าย
ตัวอย่างเช่น หากคุณตั้งชื่อหน้าเข้าสู่ระบบของคุณว่า signup.aspx คุณสามารถเพิ่มบรรทัดโค้ดต่อไปนี้ลงในไฟล์การกำหนดค่าเครือข่ายได้
<configuration> <system.web> <authentication mode="Forms"> <forms loginUrl ="signup.aspx" defaultUrl = “Welcome.aspx†/> </authentication> </system.web></configuration>
ขั้นตอนที่ 11: ผู้ใช้มักลืมรหัสผ่าน การควบคุม PasswordRecovery จะช่วยให้ผู้ใช้สามารถเข้าสู่ระบบบัญชีนี้ได้อีกครั้ง เลือกการควบคุมการเข้าสู่ระบบ เปิดแท็บเล็กๆ แล้วเลือก 'แปลงเป็นเทมเพลต'
โดยการกำหนดส่วนติดต่อผู้ใช้ของตัวควบคุมนี้เอง ให้วางตัวควบคุมไฮเปอร์ลิงก์ไว้ด้านล่างปุ่มเข้าสู่ระบบ การควบคุมนี้ควรจะสามารถเชื่อมโยงไปยังหน้าการเรียกรหัสผ่านได้
ขั้นตอนที่ 12: ตั้งค่าการควบคุม PasswordRecovery บนหน้าการกู้คืนรหัสผ่าน การควบคุมนี้ต้องการให้เมลเซิร์ฟเวอร์ส่งรหัสผ่านไปยังผู้ใช้
ขั้นตอนที่ 13: ตั้งค่าลิงก์ไปยังหน้าเปลี่ยนรหัสผ่านในกล่อง LoggedIn ของตัวควบคุม LoginView บนหน้ายินดีต้อนรับ
ขั้นตอนที่ 14: ตั้งค่าการควบคุม ChangePassword บนหน้าเปลี่ยนรหัสผ่าน การควบคุมนี้มีสองมุมมอง:
ตอนนี้ให้รันแอปพลิเคชันและสังเกตการดำเนินการด้านความปลอดภัยต่างๆ คุณสามารถกลับไปที่เครื่องมือการจัดการเว็บแอปพลิเคชันแล้วคลิกตัวเลือกความปลอดภัยเพื่อสร้างบทบาท คลิก 'สร้างบทบาท' เพื่อสร้างบทบาทบางส่วนสำหรับแอปพลิเคชันนี้
คลิก 'จัดการผู้ใช้' เพื่อกำหนดบทบาทให้กับผู้ใช้
Secure Sockets Layer (SSL) เป็นโปรโตคอลที่ใช้เพื่อรับรองการเชื่อมต่อที่ปลอดภัย ด้วยการใช้ SSL เบราว์เซอร์จะเข้ารหัสข้อมูลทั้งหมดที่ส่งไปยังเซิร์ฟเวอร์และถอดรหัสข้อมูลทั้งหมดจากเซิร์ฟเวอร์ ในเวลาเดียวกัน เซิร์ฟเวอร์จะเข้ารหัสและถอดรหัสข้อมูลทั้งหมดใน Liangzi Browser ด้วย
URL สำหรับการเชื่อมต่อที่ปลอดภัยใช้โปรโตคอล HTTPS แทนโปรโตคอล HTTP เบราว์เซอร์ที่ใช้การเชื่อมต่อที่ปลอดภัยจะแสดงล็อคขนาดเล็กด้วย เมื่อเบราว์เซอร์สื่อสารกับเซิร์ฟเวอร์โดยใช้ SSL เซิร์ฟเวอร์จะส่งใบรับรองความปลอดภัยเพื่อตรวจสอบความถูกต้องของเซิร์ฟเวอร์เอง
หากต้องการใช้ SSL คุณจะต้องซื้อใบรับรองความปลอดภัยดิจิทัลจากผู้ออกใบรับรองที่เชื่อถือได้ (CA) และติดตั้งใบรับรองบนเซิร์ฟเวอร์เครือข่าย ต่อไปนี้คือองค์กรรับรองที่น่าเชื่อถือและมีชื่อเสียงที่ดี:
www.verisign.com
www.geotrust.com
www.thawte.com
SSL มีอยู่ในเบราว์เซอร์และเซิร์ฟเวอร์หลักๆ ทั้งหมด หากต้องการเปิดใช้งาน SSL คุณต้องติดตั้งใบรับรองดิจิทัล ความแรงของใบรับรองดิจิทัลที่แตกต่างกันจะแตกต่างกันไปขึ้นอยู่กับความยาวของคีย์ที่สร้างขึ้นในระหว่างกระบวนการเข้ารหัส ยิ่งคีย์ยาวเท่าใด ใบรับรองก็จะปลอดภัยยิ่งขึ้นและการเชื่อมต่อก็จะปลอดภัยมากขึ้นเท่านั้น
ความแข็งแกร่ง | อธิบาย |
---|---|
40 บิต | รองรับเบราว์เซอร์ส่วนใหญ่แต่ถูกแฮ็กได้ง่าย |
56 บิต | แข็งแกร่งกว่า 40 บิต |
128 บิต | ถอดรหัสได้ยาก แต่ไม่ใช่ทุกเบราว์เซอร์ที่รองรับ |