讓站長最頭痛的事,除了程序和服務器安全外,可能就要算內容被採集了。當然,現在網絡本身就是資源共享,我這裡不談採集的對錯,只是就防採集說說個人看法。
一、如何分辨搜索爬蟲
以前,在網上看到過關於用asp代碼來捕捉搜索爬蟲的代碼,通過代碼把爬蟲的訪問記錄記錄到文件。就此代碼(原作者未知)我作了修改,加入程序中防採集。現做成函數,直接在頁面中調用。
複製代碼代碼如下:
FunctionCheckSearchRobots(SearchRobotsAgent)
CheckSearchRobots=False
'自定義搜索爬蟲,因篇幅關係,這裡只是加入國內主要搜索引擎爬蟲部分記錄
DimSearchRobots:SearchRobots="Baidu@Baidu|Google@Google|crawler@alexa|Yahoo@Yahoo|sohu@Sohu|MSN@MSN|QihooBot@Qihoo"
dimArrSearchRobots,ArrSearchRobots2,SearchRobotsTrue,SearchRobotsName,iSearchRobots
SearchRobotsTrue=False
ArrSearchRobots=split(SearchRobots,chr(124))
ForiSearchRobots=0ToUbound(ArrSearchRobots)
ArrSearchRobots2=split(ArrSearchRobots(iSearchRobots),"@")
IfInstr(lcase(SearchRobotsAgent),lcase(ArrSearchRobots2(0)))>0then
SearchRobotsTrue=true:SearchRobotsName=ArrSearchRobots2(1):exitfor
EndIf
Next
IfSearchRobotsTrueandlen(SearchRobotsName)>0then'如果是爬蟲,就更新爬蟲信息
CheckSearchRobots=True
EndIf
EndFunction
將以上代碼放在asp程序中(具體如何放置請參考相關文章),然後在需要調用的地方作如下調用:IfCheckSearchRobots(SearchRobotsAgent)=FalseThen
Response.Write"非搜索引擎,可作部分限制!"'這裡可以加入判斷指定時間的刷新次數,比如在正常情況下,訪問速度是N次/分,如果超過這個次數(超常規訪問)就可以限制了。