affoman โพสต์ 2010-2-27 09:49:56

แสดง Bot ใน online list for Discuz 7.2 & 7.1

แก้ไขล่าสุดโดย affoman เมื่อ 2010-3-4 16:28

แก้ไขล่าสุดโดย affoman เมื่อ 2010-2-27 10:57

อ้างอิงจากกระทู้ : http://www.discuzthai.com/viewthread.php?tid=4235

Author & special thank: ntf

แสดงไอพีบอทของเสริชต่างๆเป็นชื่อบอทนั้นครับ
มี
Google Bot
Yahoo Bot
WindowLive Bot
Baidu Spider


ปล.สำรอไฟล์ ที่จะ MODก่อนน่ะครับ เพื่อเพิ่มความปลอดภัยฝห้กับเว็บ ไม่งั้น MOD ผิด จะ พังซะก่อน
1. เปิดไฟลล์ include/global.func.php
ค้นหา if(!defined('IN_DISCUZ')) {
      exit('Access Denied');
}เอา code นี้ไป ใส่ ต่อจากบรรทัด นั่นครับ
//Bot Authentication By IP Start By ntf
function ip2bot($IP2BOT_IP){
      $IP2BOT_IPX=explode(".",$IP2BOT_IP,4);
if(($IP2BOT_IPX['0']=='66' && $IP2BOT_IPX['1']=='249') && ($IP2BOT_IPX['2']>=64 && $IP2BOT_IPX['2']<=95)){ //Google 66.249.64.0 - 66.249.95.255
$IP2BOT_NAME='GoogleBot';
}elseif(($IP2BOT_IPX['0']=='74' && $IP2BOT_IPX['1']=='6') or ($IP2BOT_IPX['0']=='72' && $IP2BOT_IPX['1']=='30')){//yahoo 74.6.0.0 - 74.6.255.255 ,72.30.0.0 - 72.30.255.255
$IP2BOT_NAME='YahooBot';
}elseif(($IP2BOT_IPX['0']=='65' && $IP2BOT_IPX['1']=='52') or ($IP2BOT_IPX['0']=='65' && $IP2BOT_IPX['1']=='55')){//Window Live 65.52.0.0 - 65.55.255.255
$IP2BOT_NAME='WindowLiveBot';
}elseif(($IP2BOT_IPX['0']=='202' && $IP2BOT_IPX['1']=='108' && $IP2BOT_IPX['2']=='1') or ($IP2BOT_IPX['0']=='202' && $IP2BOT_IPX['1']=='96' && $IP2BOT_IPX['2']=='63')){ //baidu 202.108.1.* - 202.96.63.*
$IP2BOT_NAME='Baidu Spider';
}else{
return false;
}

return $IP2BOT_NAME;
}
//Bot Authentication By IP End By ntf2. เปิดไฟลล์ member.php
ค้นหา       while($online = $db->fetch_array($query)) {
                $online['lastactivity'] = gmdate($timeformat, $online['lastactivity'] + $timeoffset * 3600);
                $online['action'] = $actioncode[$online['action']];
                $online['subject'] = $online['subject'] ? cutstr($online['subject'], 35) : NULL;
                $online['ip'] = $online['ip1'].'.'.$online['ip2'].'.'.$online['ip3'].'.'.$online['ip4'];
วางโค๊ดนี้ไว้บรรทัดต่อไปif(!$online['username']) $online['username']=ip2bot($online['ip']);3. เปิดไฟลล์ include/index_classics.inc.php
ค้นหา $query = $db->query("SELECT uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ".(isset($_DCACHE['onlinelist']) ? '' : 'WHERE uid <> 0')." ORDER BY uid DESC LIMIT ".$maxonlinelist);เปลี่ยนเป็น$query = $db->query("SELECT ip1,ip2,ip3,ip4,uid, username, groupid, invisible, action, lastactivity, fid FROM {$tablepre}sessions ".(isset($_DCACHE['onlinelist']) ? '' : 'WHERE uid <> 0')." ORDER BY uid DESC LIMIT ".$maxonlinelist);ค้นหา$online['username'] = $_DCACHE['onlinelist']['guest'];วางโค๊ดนี้ไว้บรรทัดต่อไป$online['ip'] = $online['ip1'].'.'.$online['ip2'].'.'.$online['ip3'].'.'.$online['ip4'];                              
$online['username']=(!ip2bot($online['ip']))?$_DCACHE['onlinelist']['guest']:ip2bot($online['ip']);4. เปิดไฟลล์ /default/whosonline.htm
ค้นหา(มี 2 ที่) <!--{if $online['uid']}--><a href="space.php?uid=$online">$online</a><!--{else}-->{lang guest}<!--{/if}-->เปลี่ยนเป็น<!--{if $online['uid']}--><a href="space.php?uid=$online">$online</a><!--{else}-->
                              <!--{if ($online['username'] && $online['uid']==0)}-->$online<!--{else}-->{lang guest}<!--{/if}-->
                              <!--{/if}-->5. อัพเดทแคช Admincp > เครื่องมือ > อัพเดทแคชไฟลล์

expertkom โพสต์ 2010-2-27 10:14:09

แจ่มเลย

ขอบคุณมากครับ

nontawat1996 โพสต์ 2010-3-2 19:15:30

ใช้กับ 7.1 ได้ไมเนี่ย??

yseed โพสต์ 2010-3-4 16:03:19

ขอลองครับ อิอิ

affoman โพสต์ 2010-3-4 16:29:12

ตอบกลับ 3# nontawat1996


    ได้ครับ!!!

nontawat1996 โพสต์ 2010-3-4 18:01:40

ของผมทำไมไม่ขึ้นเลยแหะ อิอิ

dsiwarsza โพสต์ 2010-3-7 10:01:57

ขอบคุณมากครับๆๆๆๆๆๆๆๆๆ

expertkom โพสต์ 2010-3-7 10:28:29

ขอบคุณมากครับ

พิชิต โพสต์ 2010-3-16 22:18:00

ไม่ขึ้นครับต้องทำไงอีกล่ะครับ

affoman โพสต์ 2010-3-21 20:17:26

ที่ไม่ขึ้นบอท คงไม่ได้มา อ่ะดิคับ ฮาๆๆๆ..

ถ้าบอทไม่มา มันก็ไม่ขึ้น ครับ!!
หน้า: [1] 2
ดูในรูปแบบกติ: แสดง Bot ใน online list for Discuz 7.2 & 7.1