我们有一个发送带有链接的常规电子邮件的系统,其中许多包含URL编码参数,例如:
href="http://www.mydomain.com/login.aspx?returnurl=http%3A%2F%2Fwww.mydomain.com%2Fview.aspx%3Fid%3D1234%26alert%3Dtrue"
可以看到"returnurl"参数被编码了。然而,似乎我们的大量用户(似乎是hotmail)正在接收带有参数的部分解码的电子邮件,例如:
href="http://www.mydomain.com/login.aspx?returnurl=http://www.mydomain.com/view.aspx?view.aspx%3Fid%3D1234%26alert%3Dtrue"
为什么它会这样解码?为什么只能部分解码?因此,我不知道如何处理它。我想到了base-64编码,但base64字符串包含的字符也需要解码……我想到了双重编码,但后来我不知道是否要双重解码参数或不…有人能帮忙吗?谢谢。
可能发生这种情况的一个原因是编码的url规则在?
之前和之后是不同的,所以如果解码的机制是从url的'后面'进行解码,然后苹果查询解码规则直到找到第一个?
,那么这可能会导致你所描述的问题。
不知道如何处理它,虽然我理解的系统,做这种不适当的解码是你的控制之外。我会尝试隐藏?
在返回url查询以某种方式…