जावास्क्रिप्ट के माध्यम से HttpOnly के लिए एक कुकी सेट करें


90

मेरे पास एक कुकी है जो नहीं है HttpOnlyक्या मैं इस कुकी को HttpOnlyजावास्क्रिप्ट के माध्यम से सेट कर सकता हूं ?


1
जावास्क्रिप्ट द्वारा कुकी को कैसे सेट करना संभव होगा जिसे जावास्क्रिप्ट स्वयं में हेरफेर करने में सक्षम नहीं है? बस इसे सर्वर साइड में सेट करें।
17

1
कुकी HttpOnly नहीं है और मैं इसे जावास्क्रिप्ट के माध्यम से HttpOnly पर सेट करना चाहता हूं।

6
मुझे लगता है कि आपको HttpOnly की बात याद आती है।
बालुस 17

बड़ा सवाल है। जहां तक ​​सुरक्षा जाती है क्लाइंट से HttpOnly कुकी स्थापित करने के लिए वास्तव में कोई नकारात्मक पहलू नहीं है। तो आप सोचेंगे कि इसकी अनुमति होगी। लेकिन निश्चित रूप से यह नहीं है।
पीएचपी गुरु

जवाबों:


178

एक HttpOnlyकुकी का मतलब है कि यह है नहीं जावास्क्रिप्ट तरह पटकथा भाषाओं के लिए उपलब्ध। जावास्क्रिप्ट में, HttpOnlyकुकी की विशेषता को प्राप्त / सेट करने के लिए बिल्कुल कोई एपीआई उपलब्ध नहीं है , क्योंकि यह अन्यथा के अर्थ को पराजित करेगा HttpOnly

बस इसे सर्वर साइड पर इस तरह सेट करें कि सर्वर साइड भाषा जो भी सर्वर साइड उपयोग कर रहा है। यदि जावास्क्रिप्ट इसके लिए नितांत आवश्यक है, तो आप उदाहरण के लिए इसे कुछ (अजाक्स) अनुरोध के साथ भेजने पर विचार कर सकते हैं जैसे कुछ विशिष्ट अनुरोध पैरामीटर जो एक सर्वर को हेटपोनेली कुकी बनाने के लिए भाषा को ट्रिगर करता है। लेकिन, फिर भी हैकर्स के लिए इसे बदलना आसान हो जाएगाHttpOnly सिर्फ XSS में और अभी भी JS के माध्यम से कुकी तक पहुंच होगी और इस तरह से HttpOnlyआपकी कुकी पूरी तरह से बेकार हो जाएगी।


4
मैं सोच रहा हूं कि "EditThisCookie" ब्राउज़र एक्सटेंशन जैसे क्लाइंट साइड ऐप कैसे HttpOnly फ्लैग को झूठे में बदल सकता है।
pavanw3b

1
@ PavanW3b: यह उसके लिए जावास्क्रिप्ट की तरह एक क्लाइंट साइड स्क्रिप्टिंग भाषा का उपयोग नहीं करता है। यह सिर्फ एक ब्राउज़र एक्सटेंशन है।
BalusC

10
@BalusC ब्राउज़र एक्सटेंशन जेएस में लिखे गए हैं और कुछ समय के लिए बनाए गए हैं। developer.chrome.com/extensions "आप उन्हें HTML, जावास्क्रिप्ट और CSS जैसी वेब तकनीकों का उपयोग करके लिखते हैं।" developer.mozilla.org/en-US/Add-ons/WebExtensions/… "" वे मानक वेब तकनीकों का उपयोग करके लिखे गए हैं - जावास्क्रिप्ट, एचटीएमएल, और सीएसएस - प्लस कुछ समर्पित जावास्क्रिप्ट एपीआई। "और 2013 में लिखे गए एक खुले स्रोत का उदाहरण। github.com/Asana/Chrome-Extension-Example
जस्टिन हमादे

56
मैं वास्तव में नहीं दिख रहा है कि कैसे "के अर्थ को हराने होगा जे एस से केवल Http सेट करने में सक्षम किया जा रहा है HttpOnly," जब तक कि कुकी अभी भी स्क्रिप्ट से पढ़ने योग्य नहीं है ...
Hallo

4
एमडीएन का कहना है कि यह मना है। developer.mozilla.org/en-US/docs/Web/HTTP/…
mpoisot
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.