2010-12-16 10 views
8

मैं अपना सत्र कुकी HttpOnly बनाना चाहता हूं। this article के आधार पर, मैं अपने application.ini को यह कहा:ज़ेंड फ्रेमवर्क, सत्र, और एचटीपी केवल

resources.session.cookie_httponly = true 

दुर्भाग्य से, जब मैं Firecookie में सत्र कुकी को देखो, यह HttpOnly के रूप में चिह्नित के रूप में मैं निर्दिष्ट किया है नहीं है। मुझे क्या कदम याद आ रहा है? बूटस्ट्रैप पर

alt text

+1

"जब मैं फायरकुकी में सत्र कुकी को देखता हूं, तो इसे केवल एचटीपी के रूप में चिह्नित नहीं किया जाता है "--- वास्तव में कुकी को कैसे चिह्नित किया जाना चाहिए? आप वहां क्या देखने की उम्मीद करते थे? – zerkms

+0

'HttpOnly' ** ** एक्सएसएस से बचाने के लिए एक कदम है: http://www.codinghorror.com/blog/2008/08/protecting-your-cookies-httponly.html – Sonny

+0

@ सोनी: यह एक कदम है कुकीज अपहरण के खिलाफ सुरक्षा, xss नहीं। एक्सएसएस कुकीज़ भेजने का एक तरीका है, और 'HttpOnly' वह विकल्प है जो आपको जेएस से कुकीज़ पढ़ने की अनुमति नहीं देता है। इसलिए यह कुकी को जेएस में पढ़ने से बचाता है। एक्सएसएस और 'एचटीपीओएनआई' के बीच कोई संबंध नहीं है। – zerkms

उत्तर

9

कोशिश Zend_Session::setOptions(array('cookie_httponly' => true)); करने के लिए (कहीं से पहले सत्र पहले आरंभ नहीं हो जाता) कठिन यह app.ini फ़ाइल के साथ भी काम करना चाहिए।

+0

यह काम करता है। काश मैं समझ सकता हूं कि यह 'application.ini' से क्यों नहीं पढ़ रहा है। – Sonny

+0

एक नज़र डालेगा और आपको कुछ पता चल जाएगा अगर आपको कुछ पता चलेगा। –

+2

'Zend_Session :: setOptions (array (' cookie_httponly '=> true) का उपयोग करें;' 'Zend_Session :: setOptions (सरणी ('cookie_httponly', true) के बजाय' '; –

5

इसे अपनी application.ini फ़ाइल में जोड़ें।

phpSettings.session.cookie_httponly = true 
1

यह 100% सुरक्षित होने के लिए।

सर्वर को http trace विकल्प की अनुमति नहीं देनी चाहिए। http विकल्प ट्रेस सत्र आईडी की रिपोर्ट करता है। यदि कोई हमलावर जावा एप्लेट, फ्लैश या जावास्क्रिप्ट को AJAX के साथ इंजेक्ट कर सकता है तो हमलावर भी httponly ध्वज सेट के साथ कुकीज़ चुरा सकता है ...

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