繁体   English   中英

没有会话的PHP用户认证教程

[英]PHP user authentication tutorial without sessions

我需要为计算机安全项目的一部分构建我自己的系统,而不使用php会话(只是cookie),我只是丢失了。 我找到的所有教程都使用会话(有充分的理由)所以我想知道是否有人知道你自己的php用户身份验证教程。

您基本上可以实现像您一样的会话。

这包括以下任务:

  • 为新用户生成随机会话ID(或登录时 - 基于确切用途......)
  • 将其保存到cookie中
  • 在会话ID的某处保存额外的会话信息(例如在数据库表中)
  • 在后续页面访问中,检查cookie中的会话ID与Web服务器上的数据,以识别用户和授予访问权限

但是应该提到的是,基于cookie的解决方案永远不会那么好。 例如,如果客户端没有启用cookie,则根本不起作用。 对此可能的解决方案是,如果未启用cookie,则将会话ID作为GET参数发送到每个内部链接。

会话会让事情变得更容易。 话虽这么说,你在哪里遇到伴侣?

要开始在PHP中使用Cookie,请查看以下内容: http//www.w3schools.com/php/php_cookies.asp

你可以

  • 如s1lence所建议的那样实现你自己的会话处理(这可能正是教授希望你做的)或者
  • 通过将会话ID附加到QueryString(使其适用于非cookie浏览器)或。来实现您自己的会话处理
  • 您可以将用户/密码对存储在cookie中(这会强制您为每个请求重新验证用户)

我不推荐后者,但如果它是关于避免会话机制的话,我猜是一个选项。 最后一句话,如果这与理解为什么会话很重要没有关系,你应该真的质疑你的老师的任务..;)

您不应该将Cookie用于此类系统,因为Cookie存储在客户端。 任何人都可以改变它。 会话存储在服务器端,只有您可以更改它(如果他们具有目录访问权限,其他系统用户也可以更改它,如果您在db中存储会话,则可以更改它)。 如果您非常需要使用cookie,您可以加密登录/密码可以写入cookie,但会话的使用更安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM