编程语言
首页 > 编程语言> > 使用URL查询字符串在PHP中进行身份验证

使用URL查询字符串在PHP中进行身份验证

作者:互联网

通常当我设计一个允许用户登录的站点时,我从数据库创建用户信息的会话变量,并确保在站点的每个页面上至少有一个会话变量可用,否则用户将被重定向到像这样的登录页面:

if(!isset($_SESSION['username']))
{
  header("Location:login.php");
}

但后来我一直在思考,为什么不使用查询字符串,而不是使用会话变量来验证用户.我的想法是创建一个基于某些因素的唯一字符串,如日期(月,年,日)或访问时间(日,小时)或IP地址,并可能使用md5哈希,所以网址可能看起来像这样

:?//mysite.com/dashboard AUTH = 12jsdnnau819wiskj3jdnck23ksj12j3.

所以现在我可以轻松地注销用户,如果他没有访问该网站超过一个小时或超过一天.但我不知道这是不是一个好主意,这就是我在这里寻求更好的方法的建议.谢谢大家.

解决方法:

因为网址:

>容易泄漏
>获取书签
>当用户打开新选项卡并导航回站点时,请勿自动携带数据

并且因为没有什么能阻止您在会话中存储相同的数据并使用它来轻松注销用户,因此它甚至不会添加您突出显示的一个好处.

标签:php,session,query-string
来源: https://codeday.me/bug/20190725/1532323.html