我正在使用php。我要在用户登录后单击“后退”按钮时将用户重定向到注销页面。如何实现呢?在哪里写代码?
我登录到站点admin ..注销,然后单击返回按钮,我可以看到上一页。为什么网站管理员无法处理此问题。
这是站点管理员中注销的代码:
if( !function_exists( 'adifier_logout_inactive' ) ){
function adifier_logout_inactive( $username, $user ){
if( !is_wp_error( $user ) ){
$logout = true;
if( !empty( $user->allcaps['edit_posts'] ) && $user->allcaps['edit_posts'] === true ){
$logout = false;
}
else if( get_user_meta( $user->ID, 'user_active_status', true ) == 'active' ){
$logout = false;
}
if( $logout === true ){
wp_logout();
}
}
}
add_filter( 'wp_login', 'adifier_logout_inactive', 10, 2 );
}
第一个问题:back button
是什么?
答案:这是Web服务器控制范围之外的按钮。如果按下,浏览器将再次加载具有先前使用的URL的页面。某些浏览器(或全部?)支持back N steps button
。
Web服务器看到什么?
Web服务器仅看到URL。他不知道是否重新加载了URL,或者用户是否使用了后退按钮之一。因此,(新)URL是唯一用于决策的数据。认识到back button
用法的唯一机会也是使用会话数据。
陷阱:用户可以打开多个窗口。他可以按重新加载按钮。他可以设置和使用书签。
有了这些知识,您应该重新考虑如何检测w back button
,以及如果您真的要管理它(某些方面)。换句话说:是否值得禁止再次加载以前的URL。
解决方案可能是:如果用户进入登录页面并已经登录,则将其重定向到另一个页面(欢迎,状态,概述)。我在我的网站上这样做。