Class RequestUtil


  • public class RequestUtil
    extends java.lang.Object
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static boolean isSameOrigin​(HttpServletRequest request, java.lang.String origin)  
      static boolean isValidOrigin​(java.lang.String origin)
      Checks if a given origin is valid or not.
      static java.lang.String normalize​(java.lang.String path)
      Normalize a relative URI path.
      static java.lang.String normalize​(java.lang.String path, boolean replaceBackSlash)
      Normalize a relative URI path.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • normalize

        public static java.lang.String normalize​(java.lang.String path)
        Normalize a relative URI path. This method normalizes "/./", "/../", "//" and "\". If the input path is an attempt to 'escape the root' (e.g. /../input.txt) then null is returned to prevent attempts to 'escape the root'. WARNING - No other URI validation checks are performed.
        Parameters:
        path - Relative path to be normalized
        Returns:
        The normalized path or null if the input path attempts to 'escape the root'.
      • normalize

        public static java.lang.String normalize​(java.lang.String path,
                                                 boolean replaceBackSlash)
        Normalize a relative URI path. This method normalizes "/./", "/../" and "//". This method optionally normalizes "\". If the input path is an attempt to 'escape the root' (e.g. /../input.txt) then null is returned to prevent attempts to 'escape the root'. WARNING - No other URI validation checks are performed.
        Parameters:
        path - Relative path to be normalized
        replaceBackSlash - Should '\\' be normalized to '/'
        Returns:
        The normalized path or null if the input path attempts to 'escape the root'.
      • isSameOrigin

        public static boolean isSameOrigin​(HttpServletRequest request,
                                           java.lang.String origin)
      • isValidOrigin

        public static boolean isValidOrigin​(java.lang.String origin)
        Checks if a given origin is valid or not. Criteria:
        • If an encoded character is present in origin, it's not valid.
        • If origin is "null", it's valid.
        • Origin should be a valid URI
        Parameters:
        origin - The origin URI
        Returns:
        true if the origin was valid
        See Also:
        RFC952