如何通过PHP中的URL最佳处理身份验证

时间:2009-03-19 20:25:42

标签: php url authentication

我需要能够向用户发送包含加密值的链接,该加密值用于在用户访问链接时对用户进行身份验证。

当前进程使用salt和大约40个字符的唯一哈希值,然后对其进行加密和base64编码,以便可以通过电子邮件安全地传输,理论上可以通过URL安全地返回。

然而,由于这是我第一次尝试做这样的事情,我没有考虑加密值中斜杠的影响。当我从URL中提取它时,这会导致值被截断,当我尝试解密时,这显然是行不通的。

这一般如何实现?总是赞赏教程等的链接。

2 个答案:

答案 0 :(得分:1)

我认为你的方法总体上是好的,实际上它可能已被认为是矫枉过正。对于网址中的斜杠(以及可能的其他问题字符)问题,只需确保您在验证令牌上使用urlencode()(然后在验证页中随后urldecode())。

答案 1 :(得分:1)

虽然您不应该在不需要身份验证的页面中包含敏感数据,但是有一个简单的解决方案可以解决您的问题。在发送哈希之前,使用urlenconde函数使其安全。然后在处理之前将其传递给urldecode