php – 销毁特定用户的所有会话

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 销毁特定用户的所有会话脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用CodeignITer 3作为我的应用程序,为了更高的安全性,我想为用户提供销毁他所有会话的选项.

为什么?因为用户在不同设备上登录时可能有多个活动会话.如果一个设备或帐户被劫持,则用户应该有可能销毁其所有活动会话,并且被劫持的帐户/设备被CI应用程序强制注销.

使用Codeigniter和sess_time_to_update配置并不是那么容易.因为在特定时间之后,会话将使用新的会话ID重新生成.

Destroying a specific session in Code Igniter只是解决方案的一,因为在会话重新生成时,用户ID列不会填充用户ID.

目标简短:
CI需要一个函数来根据用户ID查找所有会话,或者何在sess_time_to_update config自动重新生成会话后将会话ID添加到会话中

感谢您的提示和帮助

解决方法

理想情况下,您可能希望自己创建自定义函数. codeignighter就像bootignrap,因为codeignighter是PHP,bootstrap是css.简单PHP代码,是的,它在图书馆中有PHP功能很方便,但大多数PHP编码器无论如何都这样做.我个人不共享我的自定义函数名称,因为它存在安全风险.但是,将会话保持太长时间也存在安全风险.对于每个用户连接,$_SERVER数组中都有一个会话cookie.您需要做的是将这些cookie存储在db表中,然后将这些cookie条目移动到删除提示(这将是另一个表),然后使用Java调用命令(按时间间隔)以查看是否cookie在删除提示中,如果是这样它将通过命令取消设置cookie:

setcookie("PHPSESSID","",time()-3600,"/");
////then kick them out:  
session_destroy();
 header('Location: index.PHP');

 exit();

在我的一个系统上,我提出了一个不同的cookie系统,它基于连接和其他客户端变量.如果它没有看到从那里解析的任何检查(cookie,IP地址,客户端主机名和其他一些),它将添加不匹配到表的ip地址(用于管理员审计),然后添加该IP地址为火墙中的拒绝IP地址,然后将其重定向到FBI网站.我也在那个web服务器上我在apache配置中运行一个特殊的代码,它不接受vpn连接,以便那些认为可以隐藏在vpn后面的黑客,他们甚至无法访问服务器(那里的Web浏览器超时.大声笑)

脚本宝典总结

以上是脚本宝典为你收集整理的php – 销毁特定用户的所有会话全部内容,希望文章能够帮你解决php – 销毁特定用户的所有会话所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。