Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/267.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php url中的加密参数_Php - Fatal编程技术网

Php url中的加密参数

Php url中的加密参数,php,Php,我有这个网址: https://www.example.com/?p=user@provider.it 为了不让用户知道URL中有电子邮件,最好的加密方法是什么,例如: https://www.example.com/?p=skckqbsBDoia27d 显然,我将能够解密skckqbsBDoia27d以获得user@provider.it基于电子邮件,skckqbsBDoia27d必须是唯一的 该解决方案必须与PHP5.5配合使用。相应地使用base64_编码和base64_解码 some

我有这个网址:

https://www.example.com/?p=user@provider.it
为了不让用户知道URL中有电子邮件,最好的加密方法是什么,例如:

https://www.example.com/?p=skckqbsBDoia27d
显然,我将能够解密skckqbsBDoia27d以获得user@provider.it基于电子邮件,skckqbsBDoia27d必须是唯一的

该解决方案必须与PHP5.5配合使用。

相应地使用base64_编码和base64_解码

some@email.com将被编码为c29tZUBlbWFpbC5jb20=

然后在接收端:

echo base64_decode(strrev($_GET['param']));

如果你担心泄露电子邮件,那么最好的办法就是不要以任何形式包含电子邮件。而是使用与用户记录关联的其他唯一标识符。如果不可用并不重要,您可以使用数据库行的pkey字段user.id或其他任何内容。如果它需要不可用,我会创建一个新字段,比如user.public\u id,带有唯一约束,然后用散列或uuid填充它。

更复杂的内容?我不喜欢用户可以复制skckqbsBDoia27并将其粘贴到简单的base64在线解码器中以获取电子邮件。使用strrev@aletede91添加了字符串反转,这样就不那么容易了。当然,如果有人猜测或发现它只是颠倒了,他们仍然可以收到电子邮件。一点也不坏。还有什么其他的建议可以让它变得更复杂吗?只要你想把它们链接多少次就行了。双重编码,反向,不管怎样,只是在接收端做相反的事情。那么电子邮件是给一个不是用户的人的?并且该链接正在发送给拥有该电子邮件地址的人以外的其他人?有一个带有电子邮件输入的表单。用户填写并使用预先填写的电子邮件转到问题中的URL,我不能使用会话或cookiesOk,然后使用加密。不要试图重新发明轮子。
echo base64_decode(strrev($_GET['param']));