廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 25181 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為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.023259 second(s),query:15 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言