最近做的網(wǎng)站內(nèi)容常常被人采集走了,不爽也不想讓別人采集我站點(diǎn)的數(shù)據(jù),就稍為寫一段代碼
<%
user_agent=Request.ServerVariables("HTTP_USER_AGENT")
http_reffer=Request.ServerVariables("HTTP_REFERER")
server_name=Request.ServerVariables("SERVER_NAME")
'檢查當(dāng)前用戶是否是蜘蛛人
function check(user_agent)
allow_agent=split("Baiduspider,Scooter,ia_archiver,Googlebot,FAST-WebCrawler,MSNBOT,Slurp",",")
check_agent=false
for agenti=lbound(allow_agent) to ubound(allow_agent)
if instr(user_agent,allow_agent(agenti))>0 then
check_agent=true
exit for
end if
next
check=check_agent
end function
if check(user_agent)=False then
if http_reffer="" or left(http_reffer,len("http://"&server_name)+1)<>"http://"&server_name&"/" then
%>
<html><body>
<form action='' name=checkrefer id=checkrefer method=post>
</form>
<script>
document.all.checkrefer.action=document.URL;
document.all.checkrefer.submit();
</script>
</body></html>
<%response.end
end if
end if
%>
2.
小站長們辛苦整理添加的網(wǎng)站內(nèi)容總是不想讓別人輕易拿走,無奈當(dāng)今的采集程序一個(gè)比一個(gè)NB,他們總有辦法!難道就任憑他們肆虐嗎?答案是不行的。他們方法可以變,但他們的網(wǎng)站IP是不會輕易改變的,我們就從這個(gè)方法入手,為了方便不同的要求,我給大家整理了幾種方法,希望能幫助了大家!第三勢力收集整理,本站僅擁有展示權(quán)!
第一種方法:
最好的一段代碼(ASP):
<%
Dim AppealNum,AppealCount
AppealNum=10 '同一IP60秒內(nèi)請求限制10次
AppealCount=Request.Cookies("AppealCount")
If AppealCount="" Then
response.Cookies("AppealCount")=1
AppealCount=1
response.cookies("AppealCount").expires=dateadd("s",60,now())
Else
response.Cookies("AppealCount")=AppealCount+1
response.cookies("AppealCount").expires=dateadd("s",60,now())
End If
if int(AppealCount)>int(AppealNum) then
response.write "第三勢力www.binweb.cn提醒您:抓取很累,歇一會兒吧!"
response.end
End If
%>
第二種方法(ASP):
<%
user_agent=Request.ServerVariables("HTTP_USER_AGENT")
http_reffer=Request.ServerVariables("HTTP_REFERER")
server_name=Request.ServerVariables("SERVER_NAME")
'檢查當(dāng)前用戶是否是蜘蛛人
function check(user_agent)
allow_agent=split("Baiduspider,Scooter,ia_archiver,Googlebot,FAST-WebCrawler,MSNBOT,Slurp",",")
check_agent=false
for agenti=lbound(allow_agent) to ubound(allow_agent)
if instr(user_agent,allow_agent(agenti))>0 then
check_agent=true
exit for
end if
next
check=check_agent
end function
if check(user_agent)=False then
if http_reffer="" or left(http_reffer,len("http://"&server_name)+1)<>"http://"&server_name&"/" then
%>
<html><body>
<form action='' name=checkrefer id=checkrefer method=post>
</form>
<script>
document.all.checkrefer.action=document.URL;
document.all.checkrefer.submit();
</script>
</body></html>
<%response.end
end if
end if
%>
3.
防采集第一招 用Persistence為靜態(tài)頁面增加session功能
一般來說,只有服務(wù)器端的CGI程序(ASP、PHP、JSP)具有session會話功能,用來保存用戶在網(wǎng)站期間(會話)的活動數(shù)據(jù)信息,而對于數(shù)量眾多的靜態(tài)頁面(HTML)來說,只能使用客戶端的cookies來保存臨時(shí)活動數(shù)據(jù),但對于cookies的操作是個(gè)很煩瑣的過程,遠(yuǎn)沒有對于session操作那樣簡便。為此,本文向讀者推薦一種在DHTML中的解決方案“Persistence技術(shù)”,使得在靜態(tài)頁面中也能使用session會話功能。
Microsoft Internet Explorer 5瀏覽器和以后的版本都支持使用狀態(tài)保持(Persistence)技術(shù),讓我們能夠在當(dāng)前會話過程中保存一些數(shù)據(jù)對象到客戶端,減少了對服務(wù)器的訪問請求,充分發(fā)揮了客戶端計(jì)算機(jī)的數(shù)據(jù)處理能力,從而也整體提升了頁面顯示效率。
Persistence技術(shù)有以下幾種行為可供調(diào)用:
· saveFavorite—當(dāng)頁面被添加到收藏夾時(shí)保存頁面狀態(tài)和信息
· saveHistory—在當(dāng)前會話中保存頁面狀態(tài)和信息
· saveSnapshot—當(dāng)頁面被保存到硬盤時(shí),保存頁面狀態(tài)和信息
· userData—在當(dāng)前會話中用XML格式保存頁面狀態(tài)和信息
Persistence技術(shù)打破了以前使用cookies和session的傳統(tǒng),繼承了cookies的一些安全策略,同時(shí)也增加了存儲和管理數(shù)據(jù)的能力。我們的每個(gè)頁面有64KB的用戶數(shù)據(jù)存儲容量,對于每個(gè)站點(diǎn)總計(jì)有640KB的存儲上限。
Persistence技術(shù)存儲的數(shù)據(jù)格式符合XML標(biāo)準(zhǔn),所以可以使用DOM技術(shù)中的getAttribute和setAttribute方法來存取數(shù)據(jù)。
下面是一個(gè)Persistence技術(shù)的典型應(yīng)用,通過對Persistence存儲數(shù)據(jù)的分析,使得靜態(tài)頁面具有驗(yàn)證功能。
實(shí)際判斷過程是這樣的:
1.有三個(gè)對象:游客V、導(dǎo)航頁面A、內(nèi)容頁面C
2.游客V只能通過導(dǎo)航頁面A的鏈接才能看到內(nèi)容頁面C;
3.如果游客V是通過其它途徑來訪問內(nèi)容頁面C(比如通過其它網(wǎng)站的超鏈接、直接在IE地址欄中輸入網(wǎng)址訪問等),內(nèi)容頁面C將自動提示版權(quán)信息,顯示空白頁。
具體實(shí)現(xiàn)步驟:
· 在“導(dǎo)航頁面”中加入一個(gè)STYLE用來定義persistent類,同時(shí)加入存儲函數(shù)fnSave用來授權(quán)。
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
<SCRIPT language=Javascript>
function fnSave(){
oPersistDiv.setAttribute("bIsValid","true");
oPersistDiv.save("oXMLStore");
}
</SCRIPT>
· 在“導(dǎo)航頁面”的<body>和</body>區(qū)域中定義一個(gè)層用來標(biāo)識Persistence對象
<DIV CLASS=userData ID="oPersistDiv"></DIV>
· 在“導(dǎo)航頁面”的超鏈接屬性中加入一條語句用來調(diào)用函數(shù)fnSave:
<a href='redhat2.htm' onmousedown="fnSave()">
接下來,為“內(nèi)容頁面”加入驗(yàn)證功能。
· 在“內(nèi)容頁面”中加入一個(gè)STYLE用來定義persistent類,同時(shí)加入存儲函數(shù)fnLoad用來判斷合法性。
<STYLE>
.userData {behavior:url(#default#userdata);}
</STYLE>
<SCRIPT>
var bPageValid=false;
function fnLoad(){
oPersistDiv.load("oXMLStore");
if((oPersistDiv.getAttribute("bIsValid"))&&
(oPersistDiv.getAttribute("bIsValid")=="true")){
bPass=true;
}
else{
bPass=false;
}
oPersistDiv.setAttribute("bIsValid","false");
oPersistDiv.save("oXMLStore");
if(bPass==false){
var sError="來源不明,請您通過授權(quán)網(wǎng)站訪問我們.";
alert(sError);
location.href="about:blank";
}
} </SCRIPT>
· 修改“內(nèi)容頁面”的區(qū)域如下:
<BODY onload="fnLoad()">
<DIV CLASS=userData ID="oPersistDiv"></DIV>
***插入以上代碼的頁面需在同一個(gè)文件夾下,否則會出錯。
從以上范例可看出,通過persistence的使用,使得普通的靜態(tài)內(nèi)容頁面具有了session功能,一般的不敏感信息完全可以通過session保存在客戶端。
使用多個(gè)帶有session功能的靜態(tài)頁面可以完成眾多復(fù)雜任務(wù),如虛擬購物車,高級搜索引擎等。同時(shí),由于將以前服務(wù)器端承擔(dān)的部分session任務(wù)轉(zhuǎn)移到客戶端,減少了數(shù)據(jù)交互量,大大降低了服務(wù)器的負(fù)擔(dān)。
第三勢力www.binweb.cn從網(wǎng)上收集整理而來,沒有自己測試,大家謹(jǐn)慎使用!以免影響搜索引擎的收錄!
長沙科聯(lián)環(huán)?萍加邢薰
長沙科聯(lián)環(huán)?萍加邢薰咀溆趪壹夐L沙經(jīng)濟(jì)技術(shù)開發(fā)區(qū),星沙工業(yè)園、我們以“科技創(chuàng)新,聯(lián)合共...南京尚上防腐木
南京尚上防腐木是一家專業(yè)致力于加工、制作、銷售戶外景觀防腐木,并為客戶設(shè)計(jì)安裝一站式服務(wù)的現(xiàn)...長沙昱霆機(jī)電有限公司
長沙昱霆機(jī)電有限公司是長沙空壓機(jī)_長沙空壓機(jī)保養(yǎng)_湖南空壓機(jī)維修_長沙空壓機(jī)機(jī)頭維修-長沙昱...湖南省土地學(xué)會,湖南土地學(xué)會,湖南土地學(xué)會官網(wǎng)
湖南省土地學(xué)會是全省土地科技工作者自愿組成,并依法登記的學(xué)術(shù)性、非盈利性、公益性的法人社會團(tuán)...湖南為美環(huán)保技術(shù)有限公司,醫(yī)療污水凈化機(jī)組...
湖南為美環(huán)保技術(shù)有限公司應(yīng)“綠水青山就是金山銀山”之勢而生,秉持“為民環(huán)保,美麗干凈”理想信...長沙租車公司-長沙鑫晨租車
長沙鑫晨租車(長沙租車網(wǎng))于2008年,已精工細(xì)作多年。現(xiàn)以成為長沙地區(qū)較早的租車公司之一。...聯(lián)系方式
地址:湖南省長沙市天心區(qū)韶山南路248號南園503室
電話:13637482004 0731-88571521
網(wǎng)址:http:///
郵箱:123@123007.com
微信咨詢
掃一掃進(jìn)移動端