Ignore:
Timestamp:
2019-11-25T20:08:31+13:00 (5 years ago)
Author:
ak19
Message:

Implemented Dr Bainbridge's suggestions based on Kathy's solution to preventing script elements in queries (like a close script tag, open script tag, alert(1), close script tag) from ending up live when a search is performed.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/XSLTUtil.java

    r33295 r33720  
    752752        return str.replace("\"", "\\\"");
    753753    }
    754 
     754        public static String escapeAngleBrackets(String str)
     755    {
     756        if (str == null || str.length() < 1)
     757        {
     758            return null;
     759        }
     760        return str.replace("<", "&lt;").replace(">", "&gt;");
     761    }
     762   
    755763    public static String escapeNewLinesAndQuotes(String str)
    756764    {
     
    761769        return escapeNewLines(escapeQuotes(str));
    762770    }
    763 
     771   
     772    public static String escapeNewLinesQuotesAngleBracketsForJSString(String str)
     773    {
     774        // The \n and " becomes \\\n and \\\"
     775        // but the <> are escaped/encoded for html, i.e. &gt; and &lt; 
     776        if (str == null || str.length() < 1)
     777        {
     778            return null;
     779        }
     780        return escapeAngleBrackets(escapeNewLines(escapeQuotes(str)));
     781    }
    764782    public static String getGlobalProperty(String name)
    765783    {
Note: See TracChangeset for help on using the changeset viewer.