Known Browser Issue: Safari on iPhone 4.2.6 and below
Known Issue Overview: When requesting a .NET or Classic ASP / VBScript page using Safari on iPhone v. 4.2.6 the querystring value is modified. We would expect ‘?id=12′ to be processed as ‘request.querystring(”id”) = 12′. However, this is not the case.
Reason: When parsing the querystring we noticed that Safari was rendering the ‘id’ parameter’s value as
[value] \o [URL]?id=12 \o
More Information: .Net or classic ASP / VBScript are affected by this issue if iPhone is running below version 4.3 (Go to Settings > General > About on the iPhone to find the version).
Safari will acquire the querystring value, the actual issue is the data within the querystring. A normal querystring request would provide you with the passed parameter (i.e. ?id=12, request.querystring(”id”) = 12) right? It should, but when processing this request with Safari, the querystring value is modified to include the URL and some additional escape characters.
Here is what we found:
We passed a value within the ‘id’ parameter: http://www.xyz.com?id=testtest. Safari processed the request.querystring(”id”) and translated ‘testtest’ to ‘testtest \o http://www.xyz.com/?id=testtest \o’
The fix is simple: Trim(Split(Request.Querystring(”id”),”\o”)(0), but unexpected.