如何防止在Windows Live邮件中解码编码的前斜杠

本文关键字:编码 解码 何防止 Windows Live | 更新日期: 2023-09-27 18:05:49

我有一个表单与继续链接,是通过电子邮件发送。在这个链接中,我添加了一些由Base64编码的敏感加密数据。该值包含一个斜杠,该斜杠编码为%2F(带Server.UrlEncode)。当我将链接发送到Windows Live地址时,我看到Outlook.com将%2F解码回正斜杠。我该如何预防呢?

我发送:
<a href="http://www.tempuri.com/key=RVQ%2FcGhvbmVfaG9tZSE%3D">Continue</a>

但我看到:
<a href="http://www.tempuri.com/key=RVQ/cGhvbmVfaG9tZSE=%3D">Continue</a>

它可以通过从任何邮件客户端发送链接http://www.tempuri.com/key=RVQ%2FcGhvbmVfaG9tZSE%3D到Windows Live地址来复制。

如何防止在Windows Live邮件中解码编码的前斜杠

您可以尝试对该值进行两次编码。

因此RVQ/cGhvbmVfaG9tZSE=被编码为RVQ%2FcGhvbmVfaG9tZSE%3D ->这是您的值。

现在编码这个,你得到RVQ%252FcGhvbmVfaG9tZSE%253D ->电子邮件客户端不会解码%252F为斜杠,所以你的问题就解决了。

不要忘记对值进行两次解码;-)