Discuz! 手机版默认隐藏安全问答的方法
分类 网站技术/村民张先生 发布于 2022-08-09 08:12
实现效果:默认隐藏安全问答项目,避免对多数未设置安全问答的用户造成干扰。若用户设置了安全问答,可在下一步中填写。
打开 source/class/class_member.php ,查找:
$auth = authcode($_GET['username']."\t".$_GET['password']."\t".($questionexist ? 1 : 0), 'ENCODE', $_G['config']['security']['authkey']); $js = '<script type="text/javascript">showWindow(\'login\', \'member.php?mod=logging&action=login&auth='.rawurlencode($auth).'&referer='.rawurlencode(dreferer()).(!empty($_GET['cookietime']) ? '&cookietime=1' : '').'\')</script>'; showmessage('location_login', '', array('type' => 1), array('extrajs' => $js));
替换为:
$auth = authcode($_GET['username']."\t".$_GET['password']."\t".($questionexist ? 1 : 0), 'ENCODE', $_G['config']['security']['authkey']); if(defined('IN_MOBILE')) { dsetcookie('loginauth', $auth, 3600*8+3600, 1, 1); dheader('location: denglu.html'); //你的登录页面链接 } else { $js = '<script type="text/javascript">showWindow(\'login\', \'member.php?mod=logging&action=login&auth='.rawurlencode($auth).'&referer='.rawurlencode(dreferer()).(!empty($_GET['cookietime']) ? '&cookietime=1' : '').'\')</script>'; showmessage('location_login', '', array('type' => 1), array('extrajs' => $js)); }
打开你的登录页面模板,确保存在以下代码:
<!--{if $auth}--> <input type="hidden" name="auth" value="$auth" /> <!--{else}--> //用户名和密码框代码 <!--{/if}-->
在这段代码前添加:
<!--{eval $auth = $auth ? $auth : $_G['cookie']['loginauth'];}-->
将安全问答代码添加以下判断:
<!--{if $auth}--> //安全问答代码 <!--{/if}-->
检查完善你模板中其他需要作判断的地方。
欢迎谈谈你的看法(无须登录) *正文中请勿包含"http://"否则将被拦截