ช่วยให้ผู้ใช้เปลี่ยนรหัสผ่านได้ง่ายๆ ด้วยการเพิ่ม URL ชื่อดังสำหรับเปลี่ยนรหัสผ่าน

เปลี่ยนเส้นทางคำขอไปยัง /.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 ผู้ใช้จะเรียกใช้ตรวจสอบรหัสผ่านกับรหัสผ่านที่จัดเก็บไว้ และดูรายการรหัสผ่านที่แนะนำให้อัปเดตได้

ฟังก์ชันตรวจสอบรหัสผ่านของ Chrome

เมื่อคลิกปุ่มเปลี่ยนรหัสผ่านข้างรหัสผ่านที่แนะนำให้อัปเดต เบราว์เซอร์จะทำดังนี้

  • เปิดหน้าเปลี่ยนรหัสผ่านของเว็บไซต์หากตั้งค่า /.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 สำหรับเนื้อหาที่ไม่มีอยู่

ความคิดเห็น

หากมีความคิดเห็นเกี่ยวกับข้อกําหนดเฉพาะ โปรดแจ้งปัญหาในที่เก็บข้อมูลข้อกําหนดเฉพาะ

แหล่งข้อมูล

รูปภาพโดย Matthew Brodeur ใน Unsplash