[java-centralized-discovery COMMIT] in /branches/REL_1/src/main/webapp: WEB-INF/tlds/esapi.tld wayf.jsp

noreply at shibboleth.net noreply at shibboleth.net
Wed Mar 7 14:56:26 GMT 2012


Author: rdw
Date: Wed Mar  7 14:56:26 2012
New Revision: 2206

URL: http://svn.shibboleth.net/view/java-centralized-discovery?rev=2206&view=rev
Log:
SDSJ105.  Encode with ESAPI.  Add further escaping of both GTML and JAvaScript

Added:
    branches/REL_1/src/main/webapp/WEB-INF/tlds/esapi.tld
Modified:
    branches/REL_1/src/main/webapp/wayf.jsp

Modified: branches/REL_1/src/main/webapp/wayf.jsp
URL: http://svn.shibboleth.net/view/java-centralized-discovery/branches/REL_1/src/main/webapp/wayf.jsp?rev=2206&r1=2205&r2=2206&view=diff
==============================================================================
--- branches/REL_1/src/main/webapp/wayf.jsp (original)
+++ branches/REL_1/src/main/webapp/wayf.jsp Wed Mar  7 14:56:26 2012
@@ -7,53 +7,7 @@
 
 <%@ taglib uri="/WEB-INF/tlds/struts-logic.tld" prefix="logic" %>
 <%@ taglib uri="/WEB-INF/tlds/struts-bean.tld" prefix="bean" %>
-
-<%! StringBuilder jsSafe(String input) {
-  StringBuilder out = new StringBuilder();
-  int index;
-  char ch;
-  for (index = 0; index < input.length(); index++) {
-    ch = input.charAt(index);
-      switch(ch) {
-        case '"' :
-        case '\\' :
-          out.append('\\').append(ch);
-          break;
-
-        case '\n':
-        case '\r':
-          break;
-       
-        case '\t' :
-          out.append("\\t");
-          break;
-
-        case '\f' :
-          out.append("\\f");
-          break;
-
-        case '\b' :
-          out.append("\\b");
-          break;
-
-        default :
-          out.append(ch);
-          break;
-      }
-  }
-  return out;
-}
-
-String getJsForEntity(IdPSite site)
-{
-  StringBuilder out = new StringBuilder(9+site.getDisplayName().length()+site.getName().length());
-  out.append("[\"");
-  out.append(jsSafe(site.getDisplayName())).append("\",\"");
-  out.append(jsSafe(site.getName())).append("\"],");
-  return out.toString();
-
-}
-%>
+<%@ taglib uri="/WEB-INF/tlds/esapi.tld" prefix="esapi" %>
 
 <%request.setCharacterEncoding("UTF-8");%>
 <%response.setCharacterEncoding("UTF-8");%>
@@ -238,16 +192,15 @@
 
                  <a tabindex="10" href="<bean:write name="requestURL" />?entityID=<%= java.net.URLEncoder.encode(ei.toString(), "utf-8") %>&return=<%= java.net.URLEncoder.encode(re.toString(), "utf-8") %>&returnIDxParam=<%= java.net.URLEncoder.encode( returnIDParam.toString(), "utf-8" ) %>&cache=perm&action=selection&origin=<%=java.net.URLEncoder.encode(((IdPSite)site).getName())%>
 ">
-                    <jsp:getProperty name="site" property="displayName" />
+                    <esapi:encodeForHTML><jsp:getProperty name="site" property="displayName" /></esapi:encodeForHTML>
                 </a>
               </logic:present>
               <logic:notPresent name="entityID" scope="request">
                 <bean:define id="targ" name="target" />
                 <bean:define id="shire" name="shire" />
                 <bean:define id="pid" name="providerId" />
-                <a tabindex="10" href="<bean:write name="requestURL" />?target=<%= java.net.URLEncoder.encode(targ.toString(),"utf-8") %>&shire=<%= java.net.URLEncoder.encode(shire.toString(),"utf-8") %>&providerId=<%= java.net.URLEncoder.encode(pid.toString(),"utf-8") %>&time=<bean:write name="time" />&cache=perm&action=selection&origin=<%=java.net.URLEncoder.encode(((IdPSite)site).getName())%>
-                    <jsp:getProperty name="site"
-                    property="displayName" />
+                <a tabindex="10" href="<bean:write name="requestURL" />?target=<%= java.net.URLEncoder.encode(targ.toString(),"utf-8") %>&shire=<%= java.net.URLEncoder.encode(shire.toString(),"utf-8") %>&providerId=<%= java.net.URLEncoder.encode(pid.toString(),"utf-8") %>&time=<bean:write name="time" />&cache=perm&action=selection&origin=<%=java.net.URLEncoder.encode(((IdPSite)site).getName())%> ">
+                    <esapi:encodeForHTML><jsp:getProperty name="site" property="displayName" /></esapi:encodeForHTML>
                 </a>
               </logic:notPresent>
             </p>
@@ -353,8 +306,8 @@
                  <input type="hidden" name="action" value="selection" />
                  <select name="origin" id="hackForie6" tabindex="40">      
                      <logic:iterate id="site" name="sites">
-                         <option value="<jsp:getProperty name="site" property="name" />">
-                             <jsp:getProperty name="site" property="displayName" />
+                         <option value="<esapi:encodeForHTML><jsp:getProperty name="site" property="name" /></esapi:encodeForHTML>">
+                             <esapi:encodeForHTML><jsp:getProperty name="site" property="displayName" /></esapi:encodeForHTML>
                          </option>
                      </logic:iterate>
                  </select>
@@ -417,13 +370,13 @@
 
                        <!-- Only One site so select it -->
 
-                       <option value="<jsp:getProperty name="siteset" property="name"/>" selected="selected">
-                         <jsp:getProperty name="siteset" property="name"/>

[... 94 lines stripped ...]


More information about the commits mailing list