2012-08-01 20 views
5

में फ़्लैग करने के लिए कैसे करें मैंने बहुत सारे गूंजलिंग किए हैं और कोई जवाब नहीं मिला। मैं कोई प्रभाव के साथ युद्ध में web.xml फ़ाइल में निम्नलिखित की स्थापना की कोशिश की है:सत्र कुकी को सुरक्षित (https केवल) को टॉमकैट 6

<session-config> 
     <session-timeout>60</session-timeout> 
     <cookie-config> 
      <http-only>true</http-only> 
      <secure>true</secure> 
     </cookie-config> 
    </session-config> 

बिल्ला context.xml फ़ाइल में useHttpOnly जोड़ा जा रहा है केवल में http कुकीज़ को प्रतिबंधित करने के लिए काम करता है लेकिन मैं अभी भी उन्हें सुरक्षित बनाने की जरूरत है ।

उत्तर

4

आपको कुछ भी करने की ज़रूरत नहीं है। जब तक सत्र शुरू होता है तो अनुरोध https टॉमकैट सत्र कुकी को secure के रूप में चिह्नित करेगा।

मैंने यह भी देखा कि क्या ऐसा कुछ भी था जो आधिकारिक तौर पर उस तथ्य को दस्तावेज करता था लेकिन मुझे यह नहीं मिला। लेकिन यह कम से कम टॉमकैट 6.0.32 और ऊपर का व्यवहार है।

यहाँ org/apache/catalina/connector/Request.java से कोड है, जो विधि के अंत में, यदि अनुरोध सुरक्षित है देखने के लिए जाँच करता है और अगर ऐसा है, कुकी पर secure ध्वज सेट:

/** 
* Configures the given JSESSIONID cookie. 
* 
* @param cookie The JSESSIONID cookie to be configured 
*/ 
protected void configureSessionCookie(Cookie cookie) { 
    cookie.setMaxAge(-1); 

    Context ctxt = getContext(); 

    String contextPath = null; 
    if (ctxt != null && !getConnector().getEmptySessionPath()) { 
     if (ctxt.getSessionCookiePath() != null) { 
      contextPath = ctxt.getSessionCookiePath(); 
     } else { 
      contextPath = ctxt.getEncodedPath(); 
     } 
    } 
    if ((contextPath != null) && (contextPath.length() > 0)) { 
     cookie.setPath(contextPath); 
    } else { 
     cookie.setPath("/"); 
    } 

    if (ctxt != null && ctxt.getSessionCookieDomain() != null) { 
     cookie.setDomain(ctxt.getSessionCookieDomain()); 
    } 

    if (isSecure()) { 
     cookie.setSecure(true); 
    } 
} 

अद्यतन: आप फ़िल्टर आदि का उपयोग कर मैन्युअल रूप से इसे सेट करने का प्रयास कर सकते हैं .. आप set 'secure' flag to JSESSION id cookie

+0

बस यह पुष्टि करना चाहते हैं कि: अपनी पसंद के ब्राउज़र देव उपकरण में अपनी सत्र कुकीज़ देखना (मेरे मामले में सफारी के वेबिनस्पेक्टर) आपको बताएगा कि कुकी वास्तव में एक सुरक्षित-कुकी है –

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