广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 25170 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
香吉士 手机
个人文章 个人相簿 个人日记 个人地图
特殊贡献奖 创作大师奖 创作大师奖-2 创作大师奖-3
知名人士
级别: 知名人士 该用户目前不上站
推文 x234 鲜花 x555
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x1
[7.0][分享] [转]禁止双重登入  (通用)
【插件资讯】

插件名称:[转]禁止双重登入
适用版本:7.0
语言编码:通用
插件作者:author NTjames 或者叫 Cyril Yau
版权所属:author NTjames 或者叫 Cyril Yau
原帖连结:http://www.alan888.com/Discu...119-1-2.html
支持网站:http://www.alan888.com/Discu...119-1-2.html

【插件说明】

作者前言:
因为小弟快要去加拿大,决定未完成测试也要发放,怕去了加拿大就没有机会了,我一定要『遗祸AL8』
由于最近发觉有些会户帐号有多于一名用家同时使用(唔知点解架啵- -" ) ,只好增加这个功能,阻止用家登入正在使用中的帐号

因为,小弟在7.1的新核心相容唔到...只好手动添加
此插件的帐号是否在使用中是经cdb_sessions查询,会员登出后cdb_sessions会自动更新
但若会员有习惯去不登出离开,则cdb_sessions需要等阁下于后台调节缓存更新时间,自行更新

未来路向:
如有需要,完成IP Check功能
如果技术上许可,加上强行踢另一名使用中的用家离线
尽量完成在使用讨论区功能时,阻止多于一位用家使用同一帐号[即所有action执行前都要检查]


版权问题
1.本作者非常欢迎各位分享,但请在转帖时在文章主题加上[转]并保留版权资讯
2.如有必要进行二次修改,请务必通知我(Alan888的会员请PM我(NTjames),其他的会员请EMAIL(oops.idiot.galaxy@gmail.comcyrilyau821@gmail.com)






Discuz 7.1 修改

1./include/login.func.php
复制程式
if(!$member) {
                return -1;
        }
下加:
复制程式
$usercheck =        $db->result_first("SELECT COUNT(*) FROM {$tablepre}sessions WHERE username='$username'");
if($usercheck) {
return -2;
}

2../logging.php
找:
复制程式
} elseif($result == -1) {
                        $ucresult['username'] = addslashes($ucresult['username']);
                        $auth = authcode("$ucresult[username]\t".FORMHASH, 'ENCODE');
                        if($inajax) {
                                $message = 2;
                                $location = $regname.'?action=activation&auth='.rawurlencode($auth);
                                include template('login');
                        } else {
                                showmessage('login_activation', $regname.'?action=activation&auth='.rawurlencode($auth));
                        }
下加:
复制程式
} elseif($result == -2) {
                                showmessage('此用户正在浏览本站中,请先确保已经在其他电脑登出后,才再次登入本站,如果此讯息持续出现或怀疑用户被盗用,请与坛主联络',  'logging.php?action=login');




Discuz 7.0 修改
1./logging.php
找:
复制程式
if(isset($loginauth)) {
                        list($username, $password) = daddslashes(explode("\t", authcode($loginauth, 'DECODE')), 1);
                }
2.下加:
复制程式
$usercheck =        $db->result_first("SELECT COUNT(*) FROM {$tablepre}sessions WHERE username='$username'");
        if($usercheck) {
                showmessage('此用户正在浏览本站中,请先确保已经在其他电脑登出后,才再次登入本站,如果此讯息持续出现或怀疑用户被盗用,请与坛主联络');
        }


----------------------------------------------------------------------
2009-9-27 20:05 前改的,请看以下更正
[quote]更正,(已改)

因为重复5次密码错误有利用logincheck,为免出错,整个插件改写了
请用Discuz7.x原档,重新修改



献花 x0 回到顶端 [楼 主] From:欧洲 | Posted:2009-09-30 18:43 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.060268 second(s),query:15 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言