GET发送的PHP加密参数已损坏


PHP encrypted parameter sent by GET corrupted

我正在通过电子邮件实现用户的安全验证。我正在使用base64_encode函数加密用户电子邮件ID,并将其作为链接发送给用户电子邮件。

例如。mysite.php?token=sdjfh348+4h8hjheh+f8935ykjhfs_jkfh=938

当用户单击链接时,我提取令牌值并使用mcrypt_decrypt函数对其进行解密。这应该与数据库表中的电子邮件相匹配。

当我使用$_GET['token']提取令牌值时,我没有得到确切的值,值中缺少+等符号。这会导致错误的解密。

如何解决这个问题?

如果希望GET变量正确发送,则需要对其进行URL编码。

您可以在PHP中使用url_encode函数。