111de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
211de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<!--NewPage-->
311de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<HTML>
411de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<HEAD>
5058d9f7682548d3a024e84774bb153a6f72c06fcmikesamuel<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
611de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<TITLE>
711de3758b3338ab796baa74df47f9a9a937ff103mikesamuelOWASP Java HTML Sanitizer
811de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</TITLE>
911de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<SCRIPT type="text/javascript">
1011de3758b3338ab796baa74df47f9a9a937ff103mikesamuel    targetPage = "" + window.location.search;
1111de3758b3338ab796baa74df47f9a9a937ff103mikesamuel    if (targetPage != "" && targetPage != "undefined")
1211de3758b3338ab796baa74df47f9a9a937ff103mikesamuel        targetPage = targetPage.substring(1);
1362805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel    if (targetPage.indexOf(":") != -1 || (targetPage != "" && !validURL(targetPage)))
1411de3758b3338ab796baa74df47f9a9a937ff103mikesamuel        targetPage = "undefined";
1562805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel    function validURL(url) {
1662805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        var pos = url.indexOf(".html");
1762805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        if (pos == -1 || pos != url.length - 5)
1862805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            return false;
1962805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        var allowNumber = false;
2062805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        var allowSep = false;
2162805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        var seenDot = false;
2262805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        for (var i = 0; i < url.length - 5; i++) {
2362805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            var ch = url.charAt(i);
2462805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            if ('a' <= ch && ch <= 'z' ||
2562805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                    'A' <= ch && ch <= 'Z' ||
2662805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                    ch == '$' ||
2762805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                    ch == '_') {
2862805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                allowNumber = true;
2962805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                allowSep = true;
3062805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            } else if ('0' <= ch && ch <= '9'
3162805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                    || ch == '-') {
3262805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                if (!allowNumber)
3362805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                     return false;
3462805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            } else if (ch == '/' || ch == '.') {
3562805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                if (!allowSep)
3662805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                    return false;
3762805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                allowNumber = false;
3862805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                allowSep = false;
3962805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                if (ch == '.')
4062805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                     seenDot = true;
4162805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                if (ch == '/' && seenDot)
4262805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                     return false;
4362805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            } else {
4462805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel                return false;
4562805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel            }
4662805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        }
4762805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel        return true;
4862805f77bb2450bc07567ba9cefaa5f79b8e9671mikesamuel    }
4911de3758b3338ab796baa74df47f9a9a937ff103mikesamuel    function loadFrames() {
5011de3758b3338ab796baa74df47f9a9a937ff103mikesamuel        if (targetPage != "" && targetPage != "undefined")
5111de3758b3338ab796baa74df47f9a9a937ff103mikesamuel             top.classFrame.location = top.targetPage;
5211de3758b3338ab796baa74df47f9a9a937ff103mikesamuel    }
5311de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</SCRIPT>
5411de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<NOSCRIPT>
5511de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</NOSCRIPT>
5611de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</HEAD>
5711de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
5804fec67bccd1004fba68e662ba9709747aa65d30mikesamuel<FRAMESET rows="30%,70%" title="" onLoad="top.loadFrames()">
5904fec67bccd1004fba68e662ba9709747aa65d30mikesamuel<FRAME src="overview-frame.html" name="packageListFrame" title="All Packages">
6011de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
6104fec67bccd1004fba68e662ba9709747aa65d30mikesamuel</FRAMESET>
6204fec67bccd1004fba68e662ba9709747aa65d30mikesamuel<FRAME src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
6311de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<NOFRAMES>
6411de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<H2>
6511de3758b3338ab796baa74df47f9a9a937ff103mikesamuelFrame Alert</H2>
6611de3758b3338ab796baa74df47f9a9a937ff103mikesamuel
6711de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<P>
6811de3758b3338ab796baa74df47f9a9a937ff103mikesamuelThis document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
6911de3758b3338ab796baa74df47f9a9a937ff103mikesamuel<BR>
7004fec67bccd1004fba68e662ba9709747aa65d30mikesamuelLink to<A HREF="overview-summary.html">Non-frame version.</A>
7111de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</NOFRAMES>
7211de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</FRAMESET>
7311de3758b3338ab796baa74df47f9a9a937ff103mikesamuel</HTML>
74