SORU
5 Aralık 2011, PAZARTESİ


Yetki gerektiren bir durum için kaynak kodu doğru http

Eğer kullanıcı giriş gerektiren bir sayfaya erişmeye çalışırsa geri dönmek için doğru http durum kodu ile ilgili bir karışıklık var gibi görünüyor.

Temelde ne durum kodu giriş sayfasına Haritayı ne zaman gönderilecektir?

4xx aralığı durum kodu kullanmamız gerekiyor eminim.

HTTP kimlik doğrulaması kullanmak için gitmiyoruz en azından 1 durum kodu yani burada, (401 Unauthorized) bahsetmiyorum.

Şimdi ne bırakalım? Cevapları (burada BÖYLECE) değiştirmek için bir şey gibi görünüyor

Cevap here göre 403 Forbidden kullanmalıyız.

Ama bu durum açıklamasında kodu:

Yetkilendirme isteği tekrarlanmamalı yardımcı olmaz.

Bu doğru gibi görünmüyor. Yetkilendirme yardımcı OLUR bu yana.

Bu yüzden başka bir cevap kontrol sağlar. 18* *cevap bile 4xx Aralık kullanmıyor ama oldukça 302 Found kullanır

302 Found durum kodu: açıklama

İstenen kaynağın geçici olarak başka bir URI altında bulunur. Yönlendirme vesileyle değişmiş olabilir bu yana, müşteri gelecek istekler için İstek-URI kullanmaya devam ETMELİDİR. Bu yanıt eğer Cache-Control veya başlık alanı Süresi ile gösterilen ise sadece ön belleğe alınabilir.

Bu da istediğim şey değil sanırım. Farklı bir URI altında bulunduğu istenen kaynak olmadığı için. Ama tamamen farklı bir kaynak (giriş sayfası vs içerik doğrulamalı) değil.

Birlikte taşındım ve şaşırtıcı answer başka başka bir çözümü seçtim.

Bu cevap 400 Bad Request seçtiğimiz öneririz.

Bu durum kodu açıklaması:

İstek hatalı sözdizimi nedeniyle sunucu tarafından anlaşılamadı. İstemci bir değişiklik olmadan isteği tekrar olmamalı.

Sunucu isteği gayet anlaşılabilir, ama sadece kullanıcı kimliği doğrulanmış önce erişim sağlamak için reddediyor sanırım.

answer Bir de 403 Bir yanıt doğru ancak biter diyor:

Eğer bu bir kamu bakan web sitesi nerede olduğunuzu inkar etmeye çalışıyorsun erişim dayalı bir oturum çerezi [yaptığım], 200 ile uygun bir vücut olduğunu belirtmek için günlük olarak gerekli ya da 302 geçici yönlendirme için bir günlüğüne sayfa genellikle en iyi.

Yani 403 doğru ancak 200 302 EN iyisidir.

Hey! O ne arıyorum: en İYİ çözüm. Ama en doğru olanı aynı olması gerekmez mi? Ve neden en iyi olurdu?

Bu kadar soru içine yapmış:) teşekkürler

Bu konuda çok fazla dert etmemem gerektiğini biliyorum. Ve bu varsayımsal bir soru daha (çok değil, ama daha iyi bir kelime olmaması nedeniyle kullanılır) olduğunu düşünüyorum.

Ama bu soru için biraz zaman şimdi beni rahatsız ediyor.

Ve eğer onlar her zaman olduğu gibi, bazı güzel sözlerle aldı (kim) derdim Müdürü olsaydım: ama, ama, ama, ama restfulness önemlidir. :-)

Yukarıdaki durum (varsa) durum kodunu kullanarak the right way™ ne?:

tl;dr

Doğru http durum bir kullanıcı giriş gerektiren bir sayfaya erişmeye çalıştığında yanıt kodu nedir?

CEVAP
12 Aralık 2011, PAZARTESİ


Eğer kullanıcıherhangi bir kimlik sağladıve API onları 401 - Unauthorized bir dönüş gerektirir. İstemci bunu yapmak için mücadele edecek. Genellikle bu özel senaryo hakkında küçük bir tartışma var.

Kullanıcı geçerli kimlik bilgilerini sağladı amayetersizerişim talep edilen kaynak (belki de kimlik bilgileri alındı için bir freemium hesabı ama talep edilen kaynak sadece sizin için ödenen kullanıcılar), size bir kaç seçenek sunulur gevşeklik bazı HTTP kod tanımları:

  1. 403 - Forbidden dönüş. Bu daha açıklayıcı olur ve tipik olarak anlaşılır< . em ^"sağlanan kimlik bilgileri geçerliydi ama hala erişim vermek için yeterli değildi"
  2. 401 - Unauthorized dönüş. Eğer güvenlik konusunda paranoyak iseniz, iade (1) yukarıdaki gibi ekstra bilgileri istemciye geri vermek istemeyebilirsiniz
  3. Erişim engellendi neden 401 403 ya iade ama yanıt vücuttaki yararlı bilgiler nedenlerini açıklayan. Yine, bu Bilgi, saldırganların biraz yardımcı olur diye sunmak isterim daha fazla olabilir.

Şahsen, her zaman geçerli bir kimlik kabul edildiği senaryo için #1 kullandım ama ile ilgili oldukları hesap istenen kaynağa erişim yok.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BgirlNilaya

    BgirlNilaya

    29 EKİM 2008
  • Thom Hall

    Thom Hall

    24 Kasım 2006
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006