Author: jleroux
Date: Wed Oct 18 15:01:04 2017
New Revision: 1812540
URL:
http://svn.apache.org/viewvc?rev=1812540&view=revLog:
Improved: Enhance cookies security
(OFBIZ-9865)
Working on OFBIZ-6766, I was reading
https://www.owasp.org/index.php/Session_Management_Cheat_Sheet#SameSite_Attribute
and decided to slightly improve our cookies security
Modified:
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/WebAppServletContextListener.java
Modified: ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java?rev=1812540&r1=1812539&r2=1812540&view=diff==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java Wed Oct 18 15:01:04 2017
@@ -978,6 +978,8 @@ public class RequestHandler {
//
https://wiki.mozilla.org/Security/Features/XSS_Filter
//
https://bugzilla.mozilla.org/show_bug.cgi?id=528661 resp.addHeader("X-XSS-Protection","1; mode=block");
+
+ resp.setHeader("Set-Cookie", "SameSite=strict"); // TODO maybe one day the ServletContext will allow to do that, then better in WebAppServletContextListener
try {
if (Debug.verboseOn()) Debug.logVerbose("Rendering view [" + nextPage + "] of type [" + viewMap.type + "]", module);
Modified: ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/WebAppServletContextListener.java
URL:
http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/WebAppServletContextListener.java?rev=1812540&r1=1812539&r2=1812540&view=diff==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/WebAppServletContextListener.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/WebAppServletContextListener.java Wed Oct 18 15:01:04 2017
@@ -27,6 +27,8 @@ import javax.servlet.SessionCookieConfig
import javax.servlet.SessionTrackingMode;
import javax.servlet.annotation.WebListener;
+import org.apache.ofbiz.base.util.UtilProperties;
+
@WebListener
public class WebAppServletContextListener implements ServletContextListener {
@@ -40,6 +42,11 @@ public class WebAppServletContextListene
SessionCookieConfig sessionCookieConfig = servletContext.getSessionCookieConfig();
sessionCookieConfig.setHttpOnly(true);
sessionCookieConfig.setSecure(true);
+ sessionCookieConfig.setComment("Created by Apache OFBiz WebAppServletContextListener");
+ String cookieDomain = UtilProperties.getPropertyValue("url", "cookie.domain", "");
+ if (cookieDomain.length() > 0) sessionCookieConfig.setDomain(cookieDomain);
+ sessionCookieConfig.setMaxAge(60 * 60 * 24 * 365);
+ sessionCookieConfig.setPath(servletContext.getContextPath());
}
/* (non-Javadoc)