แสดง Bot ใน online list
Author & special thank: ntfแสดงไอพีบอทของเสริชต่างๆเป็นชื่อบอทนั้นครับ
มี
Google Bot
Yahoo Bot
WindowLive Bot
Baidu Spider
1. เปิดไฟลล์ include/global.func.php
ค้นหา
if(!defined('IN_DISCUZ')) {
exit('Access Denied');
}
วางโค๊ดนี้ไว้บรรทัดต่อไป
//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 ntf
2. เปิดไฟลล์ 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. เปิดไฟลล์ index.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 > เครื่องมือ > อัพเดทแคชไฟลล์
ตอบกลับโพสของ หนึ่ง acaz
ว้าวเยี่ยมๆ ขอบคุณค่ะ :handshake ขอบคุณครับ ใช้ได้ผลดีเยี่ยม:) ของพระคุงมากค๊าบ :victory:ตอบกลับโพสของ หนึ่ง acaz
ขอบคุณครับแหะๆเอาไปใช้มั้ง ~~ สุดยอดมากครับ อยากรู้มานานแล้ววว ขอบคุณมากค่ะ เดี๋ยวจะนำไปลองดูมั่ง :victory: ตอบกระทู้ acaz ตั้งกระทู้ใช้กับ X1.5 ได้มั้ยครับ
หน้า:
[1]