国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > CMS > Discuz > 正文

discuz x3如何保留源端口

2024-09-11 09:03:09
字體:
來源:轉載
供稿:網友

接上級要求論壇需要記錄用戶的源端口信息,現將實現該功能的方法貼上來以供參考,先說明一下我測試的環境是Disciz X3.

一、簡單的插件安裝法

進論壇管理后臺依次點擊“應用” 應用中心,在應用中心中搜索日志,本人安裝的是 dzsup用戶登錄日志(該日志僅記錄用戶登錄的信息,上級安裝發貼也要有記錄).

還有一個是“端口日志” 該插件只記錄發貼的IP和端口(上級要求記錄用戶登錄的源端口)所以這兩個都安裝就可以了.

二、有權限的用戶可以修改數據庫、程序、以及模板來自己設置,因為目前這兩個插件還是免費的,但如果收費的話我們就要另想辦法、要不就出錢購買.

步驟如下:

1、修改數據庫

a.增加會員狀態表字段,端口IP端口、最后訪問端口、類型CHAR 長度 6

  1. ALTER TABLE  `pre_common_member_status` ADD  `regipport` CHAR( 6 ) NOT NULL DEFAULT  '0' AFTER  `lastip` ,   
  2. ADD  `lastipport` CHAR( 6 ) NOT NULL DEFAULT  '0' AFTER  `regipport`   

b.增加帖子表字段、發貼時的端口

  1. ALTER TABLE  `pre_forum_post` ADD  `useport` CHAR( 6 ) NOT NULL DEFAULT  '0' AFTER  `useip`  

2. 修改程序文件 

2.1. 修改用戶注冊時的程序文件 

source/class/tab/table_common_member.php 292行 搜索 'lastip' => (string) $Ip 下面增加兩行:

  1. 'regipport' => (int) $_SERVER['REMOTE_PORT'],   
  2. 'lastipport' => (int) $_SERVER['REMOTE_PORT'],   

2.2 source/class/class_member.php 121行

搜索:C::t('common_member_status')->update($_G['uid'], array('lastip' => $_G['clientip'], 'lastvisit' =>TIMESTAMP, 'lastactivity' => TIMESTAMP));

改為:

  1. C::t('common_member_status')->update($_G['uid'], array('lastip' => $_G['clientip'],'lastipport'=>$_SERVER['REMOTE_PORT'], 'lastvisit' =>TIMESTAMP, 'lastactivity' => TIMESTAMP));   

2.3  source/class/model/model_forum_post.php 139行 在 'status' => $status, 后面增加 'useport' =>  (int) $_SERVER['REMOTE_PORT'],改后為:

  1. $this->pid = insertpost(array(   
  2.             'fid' => $this->forum['fid'],   
  3.             'tid' => $this->thread['tid'],   
  4.             'first' => '0',   
  5.             'author' => $this->member['username'],   
  6.             'authorid' => $this->member['uid'],   
  7.             'subject' => $this->param['subject'],   
  8.             'dateline' => $this->param['timestamp'] ? $this->param['timestamp'] : getglobal('timestamp'),   
  9.             'message' => $this->param['message'],   
  10.             'useip' => $this->param['clientip'] ? $this->param['clientip'] : getglobal('clientip'),   
  11.             'invisible' => $pinvisible,   
  12.             'anonymous' => $this->param['isanonymous'],   
  13.             'usesig' => $usesig,   
  14.             'htmlon' => $htmlon,   
  15.             'bbcodeoff' => $bbcodeoff,   
  16.             'smileyoff' => $smileyoff,   
  17.             'parseurloff' => $parseurloff,   
  18.             'attachment' => '0',   
  19.             'status' => $status,   
  20.             'useport' =>  (int) $_SERVER['REMOTE_PORT'], //Dusion 2013/6/25增加   
  21.         ));   

2.4 source/class/model/model_forum_thread.php 同2.3 202行,代碼如下:

  1. $this->pid = insertpost(array(   
  2.             'fid' => $this->forum['fid'],   
  3.             'tid' => $this->tid,   
  4.             'first' => '1',   
  5.             'author' => $this->member['username'],   
  6.             'authorid' => $this->member['uid'],   
  7.             'subject' => $this->param['subject'],   
  8.             'dateline' => $this->param['publishdate'],   
  9.             'message' => $this->param['message'],   
  10.             'useip' => $this->param['clientip'] ? $this->param['clientip'] : getglobal('clientip'),   
  11.             'invisible' => $this->param['pinvisible'],   
  12.             'anonymous' => $this->param['isanonymous'],   
  13.             'usesig' => $this->param['usesig'],   
  14.             'htmlon' => $this->param['htmlon'],   
  15.             'bbcodeoff' => $this->param['bbcodeoff'],   
  16.             'smileyoff' => $this->param['smileyoff'],   
  17.             'parseurloff' => $this->param['parseurloff'],   
  18.             'attachment' => '0',   
  19.             'tags' => $this->param['tagstr'],   
  20.             'replycredit' => 0,   
  21.             'status' => $this->param['pstatus'],   
  22.             'useport' =>  (int) $_SERVER['REMOTE_PORT'], //Dusion 2013/6/25增加  //Vevb.com 
  23.         ));   

到此,程序部分就改完了,暫時還看不到效果.

3 修改模板文件 

3.1 template/default/home/space_profile_body.htm 154 行:

  1. </em>$space[regip] 后面增加:<!--{if $space[regipport] != 0}-->$space[regipport]<!--{/if}-->   
  2.  </em>$space[lastip] 后面增加:<!--{if $space[lastipport] != 0}-->$space[lastipport]<!--{/if}-->   

該文件是用戶詳細信息的模板.

3.2 template/default/forum/topicadmin_getip.htm 在<b>$member[useip] 后面增加:

<!--{if $member[useport] != 0}-->$member[useport]<!--{/if}-->  

至此所有工作都完成了,下面上一些測試的結果圖片.

如果是管理員的話在用戶名下方的IP上點右鍵可以看到IP以及端口,該處的內容是通過 修改程序來實現的,帖子下方的IP和端口(蓋著IP的地方)是通過插件來實現的.

該圖是管理員查看用戶的詳細資料時看到的信息 IP后跟著的就是端口號。

該圖是通過后臺安裝的插件用戶登錄日志1.0.1來看到的效果

希望對有用的人有幫助,目前端口日志1.1是臨時免費時間,應該還有一個多月如果要安裝的話就抓緊了,如果你是一個phper也可 以自己修改程序來實現.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 科技| 邮箱| 赫章县| 富阳市| 富源县| 德安县| 高清| 蒙山县| 元阳县| 三河市| 屯留县| 陆河县| 梁河县| 横峰县| 武乡县| 定襄县| 合作市| 巴塘县| 休宁县| 福海县| 安仁县| 阜宁县| 柞水县| 大田县| 定结县| 鲜城| 鹿邑县| 沙田区| 罗源县| 波密县| 宣化县| 错那县| 庆城县| 玉田县| 昌江| 商南县| 巴东县| 晋江市| 崇礼县| 冷水江市| 信宜市|