我正在通过电子邮件实现用户的安全验证。我正在使用base64_encode函数加密用户电子邮件ID,并将其作为链接发送给用户电子邮件。
例如。mysite.php?token=sdjfh348+4h8hjheh+f8935ykjhfs_jkfh=938
当用户单击链接时,我提取令牌值并使用mcrypt_decrypt函数对其进行解密。这应该与数据库表中的电子邮件相匹配。
当我使用$_GET['token']提取令牌值时,我没有得到确切的值,值中缺少+等符号。这会导致错误的解密。
如何解决这个问题?
如果希望GET变量正确发送,则需要对其进行URL编码。
您可以在PHP中使用url_encode函数。