acaz โพสต์ 2009-4-27 22:59:00

แสดง Bot ใน online list 7.0

Author & special thank: ntf

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

กระทู้เดิม
http://www.discuzthai.com/viewthread.php?tid=4235



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['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 > เครื่องมือ > อัพเดทแคชไฟลล์

Nuknan โพสต์ 2009-4-27 22:59:41

แจ่มมากคับ :lol

rienanurak01 โพสต์ 2009-5-5 19:35:35

ขอบคุณครับ

zegx โพสต์ 2009-8-12 08:14:30

ทำไม่ได้อ่ะคับ กด "ค้นหา" ตามโค้ดแล้วมันมะเจออ่ะ
พอพยายามหาเองแล้วทำตามมันก็ error อ่ะคับ

blogboss โพสต์ 2010-7-25 11:49:36

http://www.discuzthai.com/viewthread.php?tid=4235

ลองเข้าไปดูนะครับ

ของพี่เขาบางจุดตัว $ หาย

ขอบคุณมากๆๆครับ
หน้า: [1]
ดูในรูปแบบกติ: แสดง Bot ใน online list 7.0