Hotmail混淆编码URL参数



我们有一个发送带有链接的常规电子邮件的系统,其中许多包含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查询以某种方式…

相关内容

  • 没有找到相关文章

最新更新