Modification of encoded or escaped URLs
WebSEAL modifies and rewrites the URL references in outgoing responses to ensure that subsequent requests are sent through WebSEAL.
WebSEAL rewrites each URL in its original form with the URI encoding or slash escaping. If WebSEAL encounters special character encoding, it replaces the HTML code with the special character that the code represents.
The following table describes the URI encoding types
that WebSEAL filters during this process.
| Encoding type | Example of encoded URL |
|---|---|
| Ampersand encoded | HTTP://host:port/path?V1=D1&V2=D2 |
| Ampersand - hex encoded | HTTP://host:port/ |
| Ampersand - dec encoded | HTTP:99host:port9 |
| Backslash encoded | HTTP:\/\/host:port\/ |
| Percent hex encoded | HTTP%3A%2F%2Fhost%3Aport%2F |
Example: Filtering of URLs
- WebSEAL server:
www.webseal.com - The following junction was created:
server task webseal-server create -tcp -h www.example.com /jct
The HTML before the WebSEAL filtering process:
<HTML>
<BODY>
<A HREF="http%3A%2F%2Fwww.example.com%2Findex.html">index.html</A>
<A HREF="http:\/\/www.example.com\/page2.html">page2.html</A>
<A HREF="http://www.example.com/page3.html">page3.html</A>
<A HREF="http://www.example.com/page4.htm">page4.html</A>
</BODY>
</HTML>HTML after the WebSEAL filtering process
with the configuration item [script-filtering] rewrite-absolute-with-absolute set
to no:
<HTML>
<BODY>
<A HREF="%2Fjct%2Findex.html">index.html</A>
<A HREF="\/jct\/page2.html">page2.html</A>
<A HREF="/jct/page3.html">page3.html</A>
<A HREF="/jct/page4.htm">page4.html</A>
</BODY>
</HTML>HTML after the WebSEAL filtering process
with the configuration item [script-filtering] rewrite-absolute-with-absolute set
to yes:
<HTML>
<BODY>
<A HREF="http%3A%2F%2Fwww.webseal.com%2Fjct%2Findex.html">index.html</A>
<A HREF="http:\/\/www.webseal.com\/jct\/page2.html">page2.html</A>
<A HREF="http://www.webseal.com/jct/page3.html">page3.html</A>
<A HREF="http://www.webseal.com/jct/page4.htm">
page4.html</A>
</BODY>
</HTML>