javascript जांचें कि क्या httpnly कुकी जावास्क्रिप्ट में मौजूद है




cookies httponly (2)

आप अप्रत्यक्ष रूप से यह देखने के लिए जांच सकते हैं कि क्या यह जावास्क्रिप्ट के साथ किसी मूल्य के लिए सेट करने की कोशिश कर रहा है, अगर उसे सेट नहीं किया जा सकता है, तो केवल HTTP केवल कुकी का होना चाहिए (या उपयोगकर्ता कुकी को अवरुद्ध कर रहा है)।

function doesHttpOnlyCookieExist(cookiename) {
   var d = new Date();
   d.setTime(d.getTime() + (1000));
   var expires = "expires=" + d.toUTCString();

   document.cookie = cookiename + "=new_value;path=/;" + expires;
   if (document.cookie.indexOf(cookiename + '=') == -1) {
       return true;
    } else {
       return false;
    }
}

जैसा कि सवाल कहता है क्या आप पता कर सकते हैं कि क्या कुकी जावास्क्रिप्ट में मौजूद है अगर यह एचटीटीपी केवल है? मुझे इसके अंदर की जानकारी का उपयोग करने की आवश्यकता नहीं है, बस पता है कि इसमें एक है

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

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

वेब सर्वर पर अन्य सुरक्षा सावधानियां हैं, इसलिए परिदृश्य में कोई नुकसान नहीं है, जहां क्लाइंट को गलत ऑथ कुकी है, लेकिन साइट ऐसा दिखती है जैसे वे लॉग इन हैं, क्योंकि यह कुकी हटा देगा और उपयोगकर्ता को अस्वीकार कर देगा ।


नहीं। और नीचे रोब की टिप्पणियां देखें।

इसे देखें, जिसे आप शायद पहले से ही देख चुके हैं - http://en.wikipedia.org/wiki/HTTP_cookie#Secure_and_HttpOnly

एचटीटीपी केवल कुकी गैर-एचटीटीपी विधियों के माध्यम से उपलब्ध नहीं है, जैसे जावास्क्रिप्ट के माध्यम से कॉल (उदाहरण के लिए, "document.cookie" को संदर्भित करना) ...

संपादित करें: undefined उत्तर हटाया गया, मैंने एक स्क्रिप्ट लिखा है जिसका उपयोग आप नहीं कर सकते हैं :)







httponly