PHP令牌安全性

我写了一个需要登录的
PHP应用程序.此应用程序是私有的,因此没有新用户可以注册.首先,我使用会话来识别用户,但它会导致平板电脑出现问题,因为他们丢失了会话.我认为这是因为节能运营.

现在我更改了我的应用程序以生成随机安全令牌.因此身份验证如下:

>登录
>生成随机安全令牌并将其保存到磁盘
>将浏览器重定向到http://myhost/site?id=[securitytoken]
>在服务器端,我检查文件是否存在 – 如果是,则验证用户

现在一切都很完美我只是在考虑安全问题.如果用户看到安全令牌,则没有问题.在使用GET时,是否有可能找到令牌?我正在使用SSL.

我试图改变过期时间和cookie生命周期.在普通的计算机上,它正常工作.在桌面上它也可以工作,如果它不进入待机状态(意味着屏幕变黑).如果屏幕变黑,会话很快就会过期.

最佳答案 从网络角度来看,使用GET而不是例如POST是没有固有的漏洞.

您应该记住的唯一警告是GET请求更有可能以您可能不想要的方式存储在客户端上(例如浏览器历史记录).出于这些原因,我通常使用POST请求进行身份验证.

您尝试解决的问题听起来与“remember me” cookies非常相似.链接的博客文章可能有助于减轻设计基于令牌的身份验证系统所涉及的安全风险.

通常,Web应用程序仅限于使用localStorage,并且无法在后台静默读取/写入文件.你是如何完成这个的?

当你说你正在使用SSL时,你真的是指TLS还是你的意思是SSL版本3?如果是SSLv3,我建议更新您的堆栈和Web服务器配置以支持current best standards.使用ECDHE和AES-GCM SHA2或ChaCha20-Poly1305的TLSv1.2是理想的选择.

点赞