实现自动注销
Implementing auto logout
>我需要一种方法在用户不活动 10 分钟后自动注销用户。这包括他们离开浏览器的时间。
我将此代码用于所有需要登录的页面:
function CheckLogin()
{
if(!isset($_SESSION))
{
session_start();
}
$sessionvar = $this->GetLoginSessionVar();
if(empty($_SESSION[$sessionvar]))
{
return false;
}
return true;
}
此外,我以前的做法是需要返回主页,然后它们将自动注销。他们是否可能不需要返回页面?
是的。 session.gc_maxlifetime
正是您正在寻找的:
ini_set('session.gc_maxlifetime', 600);
http://www.php.net/manual/en/session.configuration.php#ini.session.gc-maxlifetime
有两种方法可以实现超时。 一个来自服务器端,一个来自客户端。 可以说,服务器端实现更为重要,因为客户端功能仅提供更愉快的用户体验,并且实际上不会与应用程序的身份验证进行交互。
服务器端
您需要一个登录检查功能来确保用户已登录。 您在问题中提到了伪函数,所以我将从那里展开。
function CheckLogin()
{
// Is the user logged in?
if(session does not exist)
{
// redirect
// redirect or return false
}
else
{
if(session is valid)
{
// user is logged in
// redirect or return true
}
else
{
// redirect or return false
}
}
}
客户端
你需要jquery,以及Jim链接到的插件,http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/。 创建并链接到 Javascript 文件,并在站点范围内包含它。 按照插件链接中的文档进行操作。 这是相当彻底的。
将与会话关联的任何 Cookie(如果有)设置为在 10 分钟后超时也符合您的最佳利益。
叫做空闲超时的JQuery插件,效果很好。 设置两个或三个参数,包括超时时将人员发送到何处。 这是链接 http://www.erichynds.com/jquery/a-new-and-improved-jquery-idle-timeout-plugin/
- 如何使用动画实现纸张推车
- 客户端服务器REST API captcha实现
- 如何实现此布局
- Meteor忘记了密码的实现
- 使用Native Sockets在Android中实现WebSockets
- 在样板文件中实现Ajax
- instanceof是如何在JavaScript中实现的
- 如何正确实现Jquery多选小部件
- 实现一个建立在google.com之上的自定义搜索引擎
- 多个组件是如何实现的
- window.location使用jquery mobile实现chrome跳转
- 如何在OpenERP中实现网络摄像头
- 显示具有服务器端自动时间注销的同步倒计时计时器
- Node.js使用Series函数(模式?)实现流控制时出现意外结果
- javascript加密实现,包括可信否认
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 实现自动注销
- 如何简单地实现谷歌注销那种“点击任何地方关闭”类型的功能
- 使用安全cookie存储的JWT无状态登录:如何实现注销
- 实现web应用程序空闲超时(自动注销)的最佳方法是什么?