2011-08-05 12 views
10

को याद रखने के लिए नहीं कहता है, मैं एक वेबसाइट के लिए एक लॉगिन सिस्टम लिख रहा हूं, लेकिन जब उपयोगकर्ता लॉग इन क्रेडेंशियल्स को ब्राउज़र में गलत करता है (मैंने फ़ायरफ़ॉक्स और क्रोम दोनों की कोशिश की है) अभी भी पूछता है कि क्या उपयोगकर्ता पासवर्ड सहेजना चाहता है। मैं ब्राउज़र को कैसे बता सकता हूं कि लॉगिन विफलता थी, ताकि यह पता चले कि उपयोगकर्ता को बुरे प्रमाण-पत्रों को सहेजने के लिए नहीं कहा जाए?लॉगिन करने वाले वेब ब्राउजर को बताएं कि यह पासवर्ड

मैंने 403 और 500 (सामान्य 200 के बजाय) के HTTP स्टेटस कोड भेजने की कोशिश की है, लेकिन न तो काम। क्या मैं चाहता हूं कि ऐसा करने का कोई तरीका है?

पीएस मैं HTTP 401 प्रमाणीकरण तंत्र का उपयोग नहीं करना चाहता क्योंकि मैं लॉगिन करने के लिए एक HTML फॉर्म का उपयोग करना चाहता हूं, कुछ ब्राउज़र संवाद बॉक्स नहीं।

+0

हम्म, अजीब, मैंने सोचा कि क्रोम वास्तव में उस संवाद को दिखाने के लिए 2XX प्रतिक्रिया की उम्मीद कर रहा था। –

+0

मुझे लगता है कि हमें इसके बजाय "ब्राउज़र निर्माता" बताना चाहिए! :) – Mohsen

उत्तर

9

यह निर्धारित करने के लिए Chrome's Source Code पर देख रहा है कि यह कैसे काम करता है (OnPasswordFormsRendered देखें), यह निर्धारित करने के लिए कुछ हेरिस्टिक है। जिस तरह से यह प्रतीत होता है कर रही करने के लिए यह है:

  1. उपयोगकर्ता लोड होने तक
  2. एक ही रूप में अभी भी दिखाई दे रहा है पृष्ठ के लिए एक प्रपत्र
  3. प्रतीक्षा प्रस्तुत? यदि हां, मान लें कि फ़ॉर्म अमान्य उपयोगकर्ता नाम या पासवर्ड के कारण प्रस्तुत किया जा रहा है।

जब कोई उपयोगकर्ता लॉगऑन विफल रहता है; उन्हें फिर से उसी फॉर्म के साथ प्रस्तुत किया जाना चाहिए। ऐसा लगता है कि ब्राउजर के लिए आपकी मूल लॉगऑन स्क्रीन से आपकी "लॉगऑन असफल" स्क्रीन बहुत अलग है, यह देखने के लिए कि वे एक ही रूप हैं।

ऐसा नहीं लगता है कि HTTP स्थिति कोड पासवर्ड सहेजने के लिए एक अंतर बनाता है।

क्रोम take in to account HTTP स्टेटस कोड के नए संस्करण। यदि स्थिति कोड 400 और 600 के बीच है, तो यह पासवर्ड सहेजने की पेशकश नहीं करेगा।

अन्य विवरण एक ही स्रोत फ़ाइल में टिप्पणियों के साथ काफी अच्छी तरह से प्रलेखित हैं।

+2

साफ। आईई 10 और नीचे इस तरह एक ह्युरिस्टिक नहीं है। – EricLaw

+0

@EricLaw: मुझे यह जानकर उत्सुकता होगी कि आईई कैसे करता है; लेकिन मुझे इसके लिए कहीं भी स्रोत नहीं मिल रहा है ;-)। – vcsjones

-1

http 401 अनधिकृत प्रयास करें: "403 के लिए निषिद्ध है, लेकिन प्रमाणीकरण संभव होने पर विशेष रूप से उपयोग के लिए लेकिन विफल रहा है या अभी तक प्रदान नहीं किया गया है।" (विकिपीडिया उद्धरण)।

संपादित करें: क्षमा करें। आपके प्रश्न को पर्याप्त रूप से पर्याप्त नहीं पढ़ा।

+0

10.4.2 401 अनधिकृत अनुरोध के लिए उपयोगकर्ता प्रमाणीकरण की आवश्यकता है। प्रतिक्रिया ** में एक डब्ल्यूडब्ल्यूडब्लू-प्रमाणीकरण हेडर फ़ील्ड ** (धारा 14.47) शामिल होना चाहिए जिसमें अनुरोधित संसाधन पर लागू एक चुनौती शामिल है। –

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