我的应用程序会发送一封电子邮件,其中包含一个 URL。url 包含一个加密的查询字符串属性。我 CGI 转义了加密值,以便像 + * 这样的符号。等被逃脱。转义的 URL 按预期出现在电子邮件中,但是当我们单击链接时,加密的值被解密。
例如,邮件中的 url 如下 http://development.com/activate/snJAmJxkMo3WZ1sG27Aq?album_id=2&email=5M%2BjE1G6UB26tw/Ah%2Bzr1%2BJSSxeAoP6j&owner_id=4
电子邮件=5M%2BjE1G6UB26tw/Ah%2Bzr1%2BJSSxeAoP6j
当我们单击此链接时,浏览器中的 url 显示为 http://development.com/activate/snJAmJxkMo3WZ1sG27Aq?album_id=2&email=5M+jE1G6UB26tw/Ah+zr1+JSSxeAoP6j&owner_id=4
电子邮件=5M+jE1G6UB26tw/Ah+zr1+JSSxeAoP6j
+ 替换为空格。结果 params[:email] = 5M jE1G6UB26tw/Ah zr1 JSSxeAoP6j
这给了我一个404。
有什么办法可以避免这种情况。如何使浏览器中的 url 也显示为
在浏览器中?