Şifre değiştirme işleminde iyi bilinen bir URL ekleyerek kullanıcıların şifre değiştirmelerine yardımcı olun

/.well-known/change-password adresine yapılan bir isteği change-passwords URL'sine yönlendirme

/.well-known/change-password adresinden web sitenizin şifre değiştirme sayfasına yönlendirme ayarlayın. Bu sayede şifre yöneticileri, kullanıcılarınızı doğrudan bu sayfaya yönlendirebilir.

Giriş

Bildiğiniz gibi, şifreler hesapları yönetmek için en iyi yöntem değildir. Neyse ki WebAuthn gibi yeni teknolojiler ve tek kullanımlık şifreler gibi teknikler, şifresiz bir dünyaya yaklaşmamıza yardımcı oluyor. Ancak bu teknolojiler hâlâ geliştirilme aşamasında olduğundan değişiklikler hızlı olmayacaktır. Birçok geliştiricinin önümüzdeki birkaç yıl boyunca şifrelerle uğraşması gerekecek. Yeni teknolojilerin ve tekniklerin yaygınlaşmasını beklerken en azından şifrelerin kullanımını kolaylaştırabiliriz.

Bunu yapmanın iyi bir yolu, şifre yöneticileri için daha iyi destek sağlamaktır.

Şifre yöneticilerinin faydaları

Şifre yöneticileri tarayıcılara yerleştirilebilir veya üçüncü taraf uygulamaları olarak sunulabilir. Kullanıcılara çeşitli şekillerde yardımcı olabilirler:

Doğru giriş alanı için şifreyi otomatik doldurma: Bazı tarayıcılar, web sitesi bu amaç için optimize edilmemiş olsa bile doğru girişi sezgisel olarak bulabilir. Web geliştiriciler, HTML giriş etiketlerini doğru şekilde açıklama ekleyerek şifre yöneticilerine yardımcı olabilir.

Kimlik avını önleme: Şifre yöneticileri, şifrenin kaydedildiği yeri hatırladığından şifre yalnızca uygun URL'lerde otomatik olarak doldurulabilir ve kimlik avı web sitelerinde doldurulamaz.

Güçlü ve benzersiz şifreler oluşturma: Güçlü ve benzersiz şifreler doğrudan şifre yöneticisi tarafından oluşturulup saklandığı için kullanıcıların şifrenin tek bir karakterini bile hatırlaması gerekmez.

Şifre yöneticisi kullanarak şifre oluşturma ve otomatik doldurma, web'e zaten iyi hizmet ediyor. Ancak yaşam döngüleri göz önüne alındığında, gerektiğinde şifreleri güncellemek, oluşturmak ve otomatik doldurmak kadar önemlidir. Bu durumdan yararlanmak için şifre yöneticilerine yeni bir özellik ekleniyor:

Güvenliği ihlal edilmiş şifreleri tespit edip güncellemeyi önerme: Şifre yöneticileri, yeniden kullanılan şifreleri tespit edebilir, entropilerini ve zayıflıklarını analiz edebilir, hatta Have I Been Pwned gibi kaynaklardan sızdırılmış olabilecek veya güvenli olmadığı bilinen şifreleri tespit edebilir.

Şifre yöneticileri, kullanıcıları sorunlu şifreler konusunda uyarabilir. Ancak kullanıcıların ana sayfadan şifre değiştirme sayfasına gitmelerini istemek, şifre değiştirme işlemini gerçekleştirmelerini istemek kadar (bu işlem siteden siteye değişir) zorlu bir süreçtir. Şifre yöneticileri, kullanıcıyı doğrudan şifre değiştirme URL'sine yönlendirebilseydi bu işlem çok daha kolay olurdu. Bu durumda şifreleri değiştirmek için kullanılan iyi bilinen bir URL işe yarar.

Kullanıcıyı şifre değiştirme sayfasına yönlendiren iyi bilinen bir URL yolu ayırarak web sitesi, kullanıcıları şifrelerini değiştirmeleri için doğru yere kolayca yönlendirebilir.

"Şifre değiştirme için iyi bilinen bir URL" ayarlayın

.well-known/change-password, şifreleri değiştirmek için iyi bilinen bir URL olarak öneriliyor. Tek yapmanız gereken, sunucunuzu .well-known/change-password isteklerini web sitenizin şifre değiştirme URL'sine yönlendirecek şekilde yapılandırmaktır.

Örneğin, web sitenizin https://example.com ve şifre değiştirme URL'sinin https://example.com/settings/password olduğunu varsayalım. Sunucunuzu, https://example.com/.well-known/change-password için gelen istekleri https://example.com/settings/password adresine yönlendirecek şekilde ayarlamanız yeterlidir. Bu kadar basit. Yönlendirme için HTTP durum kodu 302 Found, 303 See Other veya 307 Temporary Redirect'ı kullanın.

Alternatif olarak, .well-known/change-password URL'nizde http-equiv="refresh" kullanarak <meta> etiketiyle HTML yayınlayabilirsiniz.

<meta http-equiv="refresh" content="0;url=https://example.com/settings/password">

Şifre değiştirme sayfanızın HTML'sini yeniden inceleyin.

Bu özelliğin amacı, kullanıcının şifre yaşam döngüsünün daha akıcı olmasına yardımcı olmaktır. Kullanıcının şifresini sorunsuz bir şekilde güncellemesini sağlamak için iki işlem yapabilirsiniz:

  • Şifre değiştirme formunuzda mevcut şifre gerekiyorsa şifre yöneticisinin otomatik doldurmasına yardımcı olmak için <input> etiketine autocomplete="current-password" ekleyin.
  • Yeni şifre alanı için (kullanıcının yeni şifreyi doğru girdiğinden emin olmak için çoğu durumda iki alan bulunur) şifre yöneticisinin oluşturulmuş bir şifre önermesine yardımcı olmak amacıyla <input> etiketine autocomplete="new-password" ekleyin.

Oturum açma formuyla ilgili en iyi uygulamalar başlıklı makaleden daha fazla bilgi edinebilirsiniz.

Gerçek dünyada nasıl kullanılır?

Örnekler

Apple Safari'nin uygulaması sayesinde /.well-known/change-password, bir süredir bazı büyük web sitelerinde kullanılabiliyor:

Siz de deneyin ve kendi fotoğraflarınızda da aynı işlemi uygulayın.

Tarayıcı uyumluluğu

Şifre değiştirme için kullanılan iyi bilinen bir URL, 2019'dan beri Safari'de desteklenmektedir. Chrome'un şifre yöneticisi, 86. sürümden itibaren (Ekim 2020'nin sonlarında kararlı sürüm olarak yayınlanması planlanmaktadır) bu özelliği desteklemeye başlayacak ve diğer Chromium tabanlı tarayıcılar da bu özelliği destekleyebilir. Firefox, bu özelliği uygulamaya değer buluyor ancak Ağustos 2020 itibarıyla bu özelliği uygulamayı planladığına dair bir işaret vermedi.

Chrome'un şifre yöneticisinin davranışı

Chrome'un şifre yöneticisinin, güvenlik açığı olan şifrelere nasıl davrandığına göz atalım.

Chrome'un şifre yöneticisi, sızdırılmış şifreleri kontrol edebilir. about://settings/passwords bölümüne giderek kullanıcılar, kayıtlı şifrelerle Şifreleri kontrol et'i çalıştırabilir ve güncellenmesi önerilen şifrelerin listesini görebilir.

Chrome'un Şifreleri kontrol etme işlevi

Güncellenmesi önerilen bir şifrenin yanındaki Şifreyi değiştir düğmesini tıkladığınızda tarayıcı:

  • /.well-known/change-password doğru şekilde ayarlanmışsa web sitesinin şifre değiştirme sayfasını açın.
  • /.well-known/change-password ayarlanmamışsa ve Google geri dönüşü bilmiyorsa web sitesinin ana sayfasını açın.

Şifre yöneticileri, kullanıcıyı bu URL'ye yönlendirmeden önce /.well-known/change-password adresine istek göndererek bir web sitesinin şifre değiştirme için iyi bilinen bir URL'yi destekleyip desteklemediğini belirlemeye çalışır. İstek 404 Not Found döndürürse URL'nin kullanılamadığı açıktır. Ancak 200 OK yanıtı, URL'nin kullanılabildiği anlamına gelmez. Bunun nedeni, birkaç uç durumun olmasıdır:

  • Sunucu tarafında oluşturma kullanılan bir web sitesinde içerik olmadığında 200 OK ile birlikte "Bulunamadı" mesajı gösterilir.
  • Sunucu tarafında oluşturma kullanan bir web sitesi, "Bulunamadı" sayfasına yönlendirdikten sonra içerik olmadığında 200 OK ile yanıt verir.
  • Tek sayfalık bir uygulama, 200 OK ile kabukla yanıt veriyor ve içerik olmadığında istemci tarafında "Bulunamadı" sayfasını oluşturuyor.

Bu uç durumlarda kullanıcılar "Bulunamadı" sayfasına yönlendirilir ve bu durum kafa karışıklığına neden olur.

Bu nedenle, rastgele bir sayfa istenerek sunucunun gerçekten içerik olmadığında 404 Not Found ile yanıt verecek şekilde yapılandırılıp yapılandırılmadığını belirlemek için önerilen standart bir mekanizma vardır. Aslında, URL de ayrılmış: /.well-known/resource-that-should-not-exist-whose-status-code-should-not-be-200. Örneğin Chrome, /.well-known/change-password'dan önceden uygun bir şifre değiştirme URL'si bekleyip bekleyemeyeceğini belirlemek için bu URL yolunu kullanır.

/.well-known/change-password dağıtımını yaparken sunucunuzun, mevcut olmayan içerikler için 404 Not Found döndürdüğünden emin olun.

Geri bildirim

Spesifikasyonla ilgili geri bildiriminiz varsa lütfen spesifikasyon deposunda sorun kaydı oluşturun.

Kaynaklar

Matthew Brodeur'in Unsplash'teki fotoğrafı