Double greater than symbols (>>) in an encoded URL generates 403 Forbidden error

encoding, html, url, url-encoding

Solution

Are you sure it is not a "RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK" http://www.fileformat.info/info/unicode/char/bb/index.htm that needs to be encoded. It is a single character and you would use `»` to encode it

Problem

We have a server that has runs a restful GET API which receives data from two different sources. Today I noticed that data from the one source was generating a 403 error when the URL contained double greater than signs (>>). Firing up my browser and hitting the api with ?text=test%3E%3E generated the 403 but things got confusing when I tried submitting the same text via the second source - it worked fine, no 403. Unfortunately, I don't have access to the code behind source 2 so I can't check how they're encoding the URL and my logs only contain decoded URL's. Is there any alternative way to URL encode >> besides %3E%3E? Any idea why the second source would be able to submit it through ok? And finally, why does our Apache server have a problem with >> but not with << ? Thanks in advance for the help!

Original source