2015-02-18 8 views
5

कोई स्थिति कोड वापस किया जाना चाहिए यदि कोई उस इकाई तक पहुंच का अनुरोध करता है जिसे उसे देखने की अनुमति नहीं है? आप शायद कहेंगे कि यह 403 है: निषिद्ध। लेकिन क्या इसके बजाय 404 लौटने का सामान्य अभ्यास है? मैं नहीं चाहता कि किसी को पता है कि यह इकाई तब भी मौजूद है जब उसे इसे देखने की अनुमति नहीं है। तुम क्या सोचते हो?एक्सेस अस्वीकृत: 403 या 404?

+0

आप उन संसाधनों के लिए वापस क्या करेंगे जो * मौजूद नहीं हैं और किस ग्राहक को एक्सेस करने की अनुमति नहीं है? –

उत्तर

12

404 का उपयोग नहीं किया गया।

404 स्थिति कोड भी 403 स्थितियों में इस्तेमाल किया जा सकता, इसके बाद सर्वर कारण है कि यह अनुरोध सेवा करने के लिए इंकार कर रहा है वापस भेजने के लिए नहीं चाहता है। एक अच्छा उदाहरण यह है कि जब सर्वर किसी प्रकार का हमला महसूस करता है, जो एक क्रूर बल हमला हो सकता है। इस मामले में, सर्वर 403 निषिद्ध और स्पष्टीकरण के बजाय 404 नहीं मिला है।

स्रोत: Pro ASP.NET Web API Security

1

रिटर्न 403 Forbidden। यदि आप प्रत्येक अनुरोध के लिए इसे वापस करते हैं तो ग्राहक को एक्सेस करने की अनुमति नहीं है और यदि आप कभी404 Not Found पर वापस आते हैं, तो ग्राहक कुछ भी नहीं जानता है।

यह सब कितना महत्वपूर्ण है यह आपके लिए है पर निर्भर करता है:

मैं किसी को पता है कि इस इकाई भले ही वह यह देखने के लिए अनुमति नहीं है मौजूद नहीं करना चाहती।

यदि यह वास्तव में महत्वपूर्ण है, तो हमेशा 403 Forbidden लौटाएं।

+0

यह अनिवार्य रूप से हमेशा 404 लौटने जैसा ही है, आपने अभी उन दो परिदृश्यों के लिए एक अलग स्थिति चुनी है। रिकॉर्ड के लिए यदि आप हमेशा 404 लौटते हैं तो ग्राहक कुछ भी नहीं सीखता है। – Anthony

-3

कि आप नीचे दिया क्या पोस्ट कर रहा हूँ के आधार पर HTTP त्रुटियों पर कुछ स्पष्टीकरण मिल आशा:

HTTP 401 त्रुटि :: यह त्रुटि होता है जब एक वेबसाइट आगंतुक एक प्रतिबंधित वेब पेज का उपयोग करने की कोशिश करता है लेकिन अधिकृत नहीं है ऐसा करने के लिए।

HTTP 403 त्रुटि :: यह त्रुटि 401 त्रुटि के समान है, लेकिन अनधिकृत और प्रतिबंधित के बीच का अंतर नोट करें। यह उदाहरण के लिए हो सकता है यदि आप किसी भी वेबसाइट पर किसी निर्देशिका (वर्जित) तक पहुंचने का प्रयास करते हैं।

HTTP 404 त्रुटि :: एक 404 त्रुटि तब होती है जब आप किसी वेब सर्वर (आमतौर पर एक वेब पेज) पर संसाधन तक पहुंचने का प्रयास करते हैं जो मौजूद नहीं है।

+0

: पी भूल गया मैं अपने होम साइट पोर्टल पर काम नहीं कर रहा था। यह सिर्फ वही विशेषता है जैसा मैंने अभी गलत समझा है! वैसे भी, क्या यह उत्तर आप जो खोज रहे हैं? –

+1

नहीं, यह सिर्फ स्टेटस कोड की परिभाषा है, मुझे पता है कि उनका क्या मतलब है। –

0

खैर .. यह निर्भर करता है ..

अपने अंतिम बिंदु के URL संवेदनशील जानकारी (जैसे, ड्रॉपबॉक्स एपीआई में प्रकट हैं, तो आप फ़ाइलों के लिए उनके नाम से है, बजाय उल्लेख उनके आईडी - इसलिए यूआरएल में फ़ाइल नाम होते हैं) या शायद आप अनुक्रमिक आईडी का उपयोग कर रहे हैं (उदाहरण के लिए, आरोही आईडी जो ब्रूट-मजबूर हो सकती हैं), 404 लौटें।

यदि आपको "अनुरोध एक्सेस" सुविधा का समर्थन करने की आवश्यकता है संसाधन जिनके पास आपके पास अनुमति नहीं है, 403 लौटें, इसलिए आपके क्लाइंट-एस विचार अंतर बता सकता है।

आम तौर पर, यदि आपका एपीआई आईडी का उपयोग करता है और कभी भी अपने यूआरएल के हिस्से के रूप में जानकारी प्रकट नहीं करता है और आप आईडी के रूप में यूयूआईडी का उपयोग कर रहे हैं, तो मैं 403 के साथ जाऊंगा .. आजकल कई प्रसिद्ध और बहुत सुरक्षित अनुप्रयोगों के साथ (Google , माइक्रोसॉफ्ट, आदि ..)।

+0

यह मुश्किल है क्योंकि 401 का उपयोग उस अनुरोध एक्सेस परिदृश्य के लिए भी किया जा सकता है। या, आप हमेशा 403 (किसी और के सुझाव के रूप में) लौट सकते हैं और गैर-मौजूद संसाधनों के लिए एक्सेस अनुरोधों की अनुमति दे सकते हैं जो मूल रूप से सीधे कचरे में जाते हैं। – Anthony

संबंधित मुद्दे