เปลี่ยนเส้นทางคำขอไปยัง /.well-known/change-password
ไปยัง URL เปลี่ยนรหัสผ่าน
ตั้งค่าการเปลี่ยนเส้นทางจาก /.well-known/change-password
ไปยังหน้าเปลี่ยนรหัสผ่านของเว็บไซต์ ซึ่งจะช่วยให้เครื่องมือจัดการรหัสผ่านนำผู้ใช้ไปยังหน้านั้นโดยตรงได้
บทนำ
คุณอาจทราบแล้วว่ารหัสผ่านไม่ใช่วิธีที่ดีที่สุดในการจัดการบัญชี แต่โชคดีที่ตอนนี้มีเทคโนโลยีใหม่ๆ เกิดขึ้น เช่น WebAuthn และเทคนิคต่างๆ เช่น รหัสผ่านที่สามารถใช้งานได้เพียงครั้งเดียว ซึ่งช่วยให้เราเข้าใกล้โลกที่ไม่มีรหัสผ่านมากขึ้น อย่างไรก็ตาม เทคโนโลยีเหล่านี้ยังอยู่ระหว่างการพัฒนาและการเปลี่ยนแปลงจะไม่เกิดขึ้นอย่างรวดเร็ว นักพัฒนาซอฟต์แวร์จํานวนมากจะยังคงต้องจัดการกับรหัสผ่านอีกอย่างน้อย 2-3 ปี ในระหว่างที่รอให้เทคโนโลยีและเทคนิคใหม่ๆ กลายเป็นเรื่องธรรมดา อย่างน้อยเราก็ทำให้รหัสผ่านใช้งานได้ง่ายขึ้นได้
วิธีที่ดีในการทำเช่นนี้คือการรองรับเครื่องมือจัดการรหัสผ่านได้ดียิ่งขึ้น
ประโยชน์ของเครื่องมือจัดการรหัสผ่าน
เครื่องมือจัดการรหัสผ่านอาจฝังอยู่ในเบราว์เซอร์หรือให้บริการเป็นแอปของบุคคลที่สาม ซึ่งช่วยผู้ใช้ได้หลายวิธี ดังนี้
ป้อนรหัสผ่านอัตโนมัติในช่องป้อนข้อมูลที่เหมาะสม: เบราว์เซอร์บางตัวสามารถค้นหาอินพุตที่ถูกต้องได้โดยใช้วิธีการเฮิวริสติก แม้ว่าเว็บไซต์จะไม่ได้เพิ่มประสิทธิภาพเพื่อวัตถุประสงค์นี้ก็ตาม นักพัฒนาเว็บสามารถช่วยเครื่องมือจัดการรหัสผ่านได้โดยกำกับเนื้อหา HTML แท็กอินพุตอย่างถูกต้อง
ป้องกันฟิชชิง: เนื่องจากเครื่องมือจัดการรหัสผ่านจะจดจำตำแหน่งที่บันทึกรหัสผ่านไว้ รหัสผ่านจึงจะป้อนอัตโนมัติได้เฉพาะใน URL ที่เหมาะสมเท่านั้น และจะไม่ป้อนในเว็บไซต์ฟิชชิง
สร้างรหัสผ่านที่รัดกุมและไม่ซ้ำกัน: เนื่องจากเครื่องมือจัดการรหัสผ่านจะสร้างและจัดเก็บรหัสผ่านที่รัดกุมและไม่ซ้ำกันโดยตรง ผู้ใช้จึงไม่ต้องจำอักขระใดๆ ของรหัสผ่าน
การสร้างและการป้อนรหัสผ่านอัตโนมัติโดยใช้เครื่องมือจัดการรหัสผ่านเป็นวิธีที่มีประสิทธิภาพในการใช้งานเว็บอยู่แล้ว แต่เมื่อพิจารณาถึงวงจรการใช้งาน อัปเดตรหัสผ่านทุกครั้งที่จําเป็นก็สำคัญไม่แพ้การสร้างและการป้อนรหัสผ่านอัตโนมัติ เครื่องมือจัดการรหัสผ่านจึงเพิ่มฟีเจอร์ใหม่เพื่อใช้ประโยชน์จากฟีเจอร์ดังกล่าวอย่างเหมาะสม ดังนี้
ตรวจหารหัสผ่านที่มีช่องโหว่และแนะนำให้อัปเดต: เครื่องมือจัดการรหัสผ่านสามารถตรวจหารหัสผ่านที่ใช้ซ้ำ วิเคราะห์ความหลากหลายและความอ่อนแอของรหัสผ่าน รวมถึงตรวจหารหัสผ่านที่อาจรั่วไหลหรือรหัสผ่านที่ทราบว่าไม่ปลอดภัยจากแหล่งที่มาต่างๆ เช่น Have I Been Pwned
เครื่องมือจัดการรหัสผ่านสามารถเตือนผู้ใช้เกี่ยวกับรหัสผ่านที่มีปัญหาได้ แต่การขอให้ผู้ใช้ไปยังหน้าเปลี่ยนรหัสผ่านจากหน้าแรกนั้นทำให้เกิดความไม่สะดวกอย่างมาก นอกเหนือจากกระบวนการเปลี่ยนรหัสผ่านจริง (ซึ่งแตกต่างกันไปในแต่ละเว็บไซต์) ผู้ใช้จะดำเนินการได้ง่ายขึ้นมากหากเครื่องมือจัดการรหัสผ่านนำผู้ใช้ไปยัง URL เปลี่ยนรหัสผ่านได้โดยตรง ในกรณีนี้ URL ที่รู้จักกันดีสำหรับการเปลี่ยนรหัสผ่านจะมีประโยชน์
การจองเส้นทาง URL ที่รู้จักกันดีซึ่งเปลี่ยนเส้นทางผู้ใช้ไปยังหน้าเปลี่ยนรหัสผ่านจะช่วยให้เว็บไซต์เปลี่ยนเส้นทางผู้ใช้ไปยังตำแหน่งที่ถูกต้องเพื่อเปลี่ยนรหัสผ่านได้อย่างง่ายดาย
ตั้งค่า "URL ที่รู้จักกันดีสำหรับการเปลี่ยนรหัสผ่าน"
.well-known/change-password
ได้รับการเสนอเป็น URL ที่รู้จักกันดีสำหรับการเปลี่ยนรหัสผ่าน สิ่งที่คุณต้องทำมีเพียงการกำหนดค่าเซิร์ฟเวอร์ให้เปลี่ยนเส้นทางคำขอ .well-known/change-password
ไปยัง URL สำหรับเปลี่ยนรหัสผ่านของเว็บไซต์
ตัวอย่างเช่น สมมติว่าเว็บไซต์ของคุณคือ https://example.com
และ URL เปลี่ยนรหัสผ่านคือ https://example.com/settings/password
คุณเพียงแค่ต้องตั้งค่าเซิร์ฟเวอร์ให้เปลี่ยนเส้นทางคำขอ https://example.com/.well-known/change-password
ไปยัง https://example.com/settings/password
เท่านี้เอง สำหรับการเปลี่ยนเส้นทาง ให้ใช้รหัสสถานะ HTTP
302 Found
, 303 See
Other
หรือ 307
Temporary Redirect
หรือจะแสดง HTML ที่ URL .well-known/change-password
ด้วยแท็ก <meta>
โดยใช้ http-equiv="refresh"
ก็ได้
<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">
กลับไปที่ HTML ของหน้าเปลี่ยนรหัสผ่าน
เป้าหมายของฟีเจอร์นี้คือช่วยให้วงจรของรหัสผ่านของผู้ใช้ทำงานได้อย่างราบรื่นยิ่งขึ้น คุณทําสิ่งต่อไปนี้ได้ 2 อย่างเพื่อให้ผู้ใช้อัปเดตรหัสผ่านได้โดยไม่มีปัญหา
- หากแบบฟอร์มเปลี่ยนรหัสผ่านต้องใช้รหัสผ่านปัจจุบัน ให้เพิ่ม
autocomplete="current-password"
ลงในแท็ก<input>
เพื่อช่วยเครื่องมือจัดการรหัสผ่านป้อนรหัสผ่านโดยอัตโนมัติ - สําหรับช่องรหัสผ่านใหม่ (ในหลายกรณีจะมี 2 ช่องเพื่อให้มั่นใจว่าผู้ใช้ป้อนรหัสผ่านใหม่อย่างถูกต้อง) ให้เพิ่ม
autocomplete="new-password"
ลงในแท็ก<input>
เพื่อช่วยเครื่องมือจัดการรหัสผ่านแนะนํารหัสผ่านที่สร้างขึ้น
ดูข้อมูลเพิ่มเติมได้ที่แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์มลงชื่อเข้าใช้
การใช้งานในชีวิตจริง
ตัวอย่าง
/.well-known/change-password
มีให้บริการในเว็บไซต์หลักๆ หลายแห่งมาระยะหนึ่งแล้ว เนื่องด้วยการใช้งานของ Apple Safari
ลองใช้ดูและนำไปใช้กับช่องของคุณ
ความเข้ากันได้กับเบราว์เซอร์
Safari รองรับ URL ที่รู้จักกันดีสำหรับเปลี่ยนรหัสผ่านมาตั้งแต่ปี 2019 เครื่องมือจัดการรหัสผ่านของ Chrome จะเริ่มรองรับตั้งแต่เวอร์ชัน 86 เป็นต้นไป (ซึ่งกำหนดเวลาไว้สำหรับรุ่นเสถียรในช่วงปลายเดือนตุลาคม 2020) และเบราว์เซอร์อื่นๆ ที่ใช้ Chromium อาจตามมาด้วย Firefox คิดว่าควรนำไปใช้ แต่ยังไม่ได้ส่งสัญญาณว่าวางแผนที่จะดำเนินการดังกล่าว ณ เดือนสิงหาคม 2020
ลักษณะการทำงานของเครื่องมือจัดการรหัสผ่านของ Chrome
มาดูกันว่าเครื่องมือจัดการรหัสผ่านของ Chrome จัดการกับรหัสผ่านที่มีช่องโหว่อย่างไร
เครื่องมือจัดการรหัสผ่านของ Chrome สามารถตรวจหารหัสผ่านที่รั่วไหลได้ เมื่อไปที่ about://settings/passwords
ผู้ใช้จะเรียกใช้ตรวจสอบรหัสผ่านกับรหัสผ่านที่จัดเก็บไว้ และดูรายการรหัสผ่านที่แนะนำให้อัปเดตได้
เมื่อคลิกปุ่มเปลี่ยนรหัสผ่านข้างรหัสผ่านที่แนะนำให้อัปเดต เบราว์เซอร์จะทำดังนี้
- เปิดหน้าเปลี่ยนรหัสผ่านของเว็บไซต์หากตั้งค่า
/.well-known/change-password
อย่างถูกต้อง - เปิดหน้าแรกของเว็บไซต์หากไม่ได้ตั้งค่า
/.well-known/change-password
และ Google ไม่ทราบหน้าสำรอง
200 OK
แม้ว่า /.well-known/change-password
จะไม่มีอยู่เครื่องมือจัดการรหัสผ่านจะพยายามระบุว่าเว็บไซต์รองรับ URL ที่รู้จักกันดีสำหรับการเปลี่ยนแปลงรหัสผ่านหรือไม่ โดยส่งคำขอไปยัง /.well-known/change-password
ก่อนส่งต่อผู้ใช้ไปยัง URL นี้ หากคำขอแสดงผลเป็น 404 Not Found
แสดงว่า URL ไม่พร้อมใช้งาน แต่การตอบกลับเป็น 200 OK
ไม่ได้หมายความว่า URL พร้อมใช้งานเสมอไป เนื่องจากมีกรณีขอบเขตบางประการดังนี้
- เว็บไซต์ที่แสดงผลฝั่งเซิร์ฟเวอร์จะแสดงข้อความ "ไม่พบ" เมื่อไม่มีเนื้อหา แต่จะมี
200 OK
- เว็บไซต์ที่แสดงผลฝั่งเซิร์ฟเวอร์จะตอบกลับด้วย
200 OK
เมื่อไม่มีเนื้อหาหลังจากเปลี่ยนเส้นทางไปยังหน้า "ไม่พบ" - แอปหน้าเว็บเดียวจะตอบสนองด้วยเชลล์ที่มี
200 OK
และแสดงผลหน้า "ไม่พบ" ฝั่งไคลเอ็นต์เมื่อไม่มีเนื้อหา
ในกรณีขอบเขตเหล่านี้ ระบบจะส่งต่อผู้ใช้ไปยังหน้า "ไม่พบ" ซึ่งจะสร้างความสับสน
ด้วยเหตุนี้จึงมีกลไกมาตรฐานที่เสนอเพื่อระบุว่าเซิร์ฟเวอร์ได้รับการกําหนดค่าให้ตอบกลับด้วย 404 Not Found
หรือไม่เมื่อไม่มีเนื้อหาจริงๆ โดยการขอหน้าแบบสุ่ม แต่ URL นี้ถูกจองไว้แล้วเช่นกัน
/.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200
ตัวอย่างเช่น Chrome ใช้เส้นทาง URL นี้เพื่อพิจารณาว่าจะคาดหวัง URL เปลี่ยนรหัสผ่านที่เหมาะสมจาก /.well-known/change-password
ล่วงหน้าได้หรือไม่
เมื่อติดตั้งใช้งาน /.well-known/change-password
ให้ตรวจสอบว่าเซิร์ฟเวอร์แสดงผล 404 Not Found
สำหรับเนื้อหาที่ไม่มีอยู่
ความคิดเห็น
หากมีความคิดเห็นเกี่ยวกับข้อกําหนดเฉพาะ โปรดแจ้งปัญหาในที่เก็บข้อมูลข้อกําหนดเฉพาะ
แหล่งข้อมูล
- URL ที่รู้จักกันดีสำหรับการเปลี่ยนรหัสผ่าน
- การตรวจหาความน่าเชื่อถือของรหัสสถานะ HTTP
- แนวทางปฏิบัติแนะนำสำหรับแบบฟอร์มลงชื่อเข้าใช้
รูปภาพโดย Matthew Brodeur ใน Unsplash