Author: jleroux
Date: Thu Oct 19 10:00:48 2017
New Revision: 1812609

URL: http://svn.apache.org/viewvc?rev=1812609&view=rev
Log:
Implemented: Secure HTTP headers
(OFBIZ-6766)

Adds 
  the no-referrer-when-downgrade Referrer-Policy
  a comment about Public-Key-Pins-Report-Only
  a link to the related wiki page

This is my prior to last commit, before implementing a CSP policy which is quite
the stuff! Check yourself https://csp.withgoogle.com/docs/adopting-csp.html

Modified:
    
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.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=1812609&r1=1812608&r2=1812609&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
 Thu Oct 19 10:00:48 2017
@@ -947,6 +947,8 @@ public class RequestHandler {
            if (Debug.verboseOn()) Debug.logVerbose("Sending no-cache headers 
for view [" + nextPage + "]", module);
         }
         
+        // Security headers 
vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
+        // See 
https://cwiki.apache.org/confluence/display/OFBIZ/How+to+Secure+HTTP+Headers
         String xFrameOption = viewMap.xFrameOption;
         // default to sameorigin
         if (UtilValidate.isNotEmpty(xFrameOption)) {
@@ -981,6 +983,12 @@ public class RequestHandler {
         
         resp.setHeader("Set-Cookie", "SameSite=strict"); // TODO maybe one day 
the ServletContext will allow to do that, then better in 
WebAppServletContextListener
 
+        resp.setHeader("Referrer-Policy", "no-referrer-when-downgrade"); // 
This is the default (in Firefox at least)
+        
+        // TODO in custom project. Public-Key-Pins-Report-Only is interesting 
but can't be used OOTB because of demos (the letsencrypt certificate is renewed 
every 3 months)
+        
+        // Security headers 
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
         try {
             if (Debug.verboseOn()) Debug.logVerbose("Rendering view [" + 
nextPage + "] of type [" + viewMap.type + "]", module);
             ViewHandler vh = viewFactory.getViewHandler(viewMap.type);


Reply via email to