New answers tagged encoding
You could use a little PHP to reinject the space from the URL encoder. Some thing like... $action = implode(' ', explode('%20', $_SERVER['REQUEST_URI'])); echo '<form action=' . $action . ' method="post"></form>';
PHP does not encode characters when setting $_SERVER['REQUEST_URI']. Any URL-encoding you may see is performed client-side (e. g. in your browser). So all you have to do is use a different HTTP client which sends the raw URL with no prior encoding. For example, cURL will do this. While literal spaces aren't allowed within a URL, it's perfectly possible to ...
Your biggest risk would be older versions of Internet Explorer that attempt to auto-detect the encoding as UTF-7 - called Codepage Sniffing. It appears that Internet Explorer will only do this for webpages, and not for AJAX requests. Therefore JSON requests should be safe. Moreover, JSON requests do not cause rendering of content directly to the page - they ...
Top 50 recent answers are included