Kaynak tabanlı bir siteyle (örneğin bir MVC uygulaması veya REST servisi gibi) çalışırken, bir istemci GET
erişemedikleri bir kaynağa çalıştığında iki ana seçeneğimiz vardır :
- 403 , ki bu müşterinin yetkisiz olduğunu söylüyor ; veya
- 404 , kaynağın var olmadığını (veya bulunamadığını) söylüyor.
Ortak bilgelik ve ortak pratik gerçeğe cevap veriyor gibi görünüyor - yani, bir 403. Ama bunun gerçekten yapılacak doğru şey olup olmadığını merak ediyorum.
Güvenli giriş sistemleri, giriş başarısızlığının nedenini size asla söylemez. Diğer bir deyişle, müşteri söz konusu olduğunda, var olmayan bir kullanıcı adı ile yanlış bir şifre arasında tespit edilebilir bir fark yoktur. Bunun amacı kullanıcı kimliklerini - ya da daha kötüsü, e-posta adreslerini - bulunabilir hale getirmektir.
Bir gizlilik açısından bakıldığında, 404'ü iade etmek çok daha güvenli görünüyor. Birinin bir gerçeklik gösterisinin kazananlarını (Survivor, sanırım) hangi kaynaklarda bulunmadığına bakarak buldukları bildirildi . site vs. olanları yaptı. Bir seri numarası veya hesap numarası gibi hassas bilgileri verebilecek bir 403'ten endişe duyuyorum.
Bir 404'ü iade etmemek için zorunlu sebepler var mı? Bir 404 politikasının başka yerlerde olumsuz yan etkileri olabilir mi? Eğer değilse, o zaman uygulama neden daha yaygın değil?