【发布时间】:2014-08-07 23:50:35
【问题描述】:
我经常想重定向用户或通过电子邮件向他们发送链接,但我想屏蔽 URL 中的参数,这样他们就无法知道正在发送哪些额外信息。
例如,如果我想提供指向http://www.example.com/directory/ 的链接,但我还想为某人传递电子邮件地址和哈希的额外参数:
电子邮件:someone@example.com
哈希: 22sd359d5823ddg4653dfgfFSG2
我可以将他们发送到此链接,但我不希望他们看到参数:
http://www.example.com/directory/someone%40example.com/22sd359d5823ddg4653dfgfFSG2
所以我的第一个想法就是 base64_encode() 它,但是你会在末尾得到那些愚蠢的 == 符号以获得额外的字节。而且base64编码也会产生相当长的字符串。
是否有更简单、对 URL 友好的方式来对字符串进行编码以隐藏其内容?
你通常会怎么做? base64_encode() 是标准做法吗?
【问题讨论】:
-
I don't want... 请问-为什么? -
最后的
==有什么问题? -
@Phil == 似乎有点太明显了,它已经被base64编码了。更重要的是,当您在纯文本电子邮件中发送此类链接时,== 不被视为链接的一部分(至少在 Outlook 中没有,我尚未在其他电子邮件客户端中测试过)。所以你有一个蓝色链接,最后是黑色的 ==。
-
当然这是一个真正的问题。就因为看不懂就想关掉?我想屏蔽链接中的 URL 参数。有什么难理解的?
-
@Shrapnel:这对我来说似乎是一个有效的问题。我还可以为这样的系统设计非恶意用途。
标签: php