SEO策略指南 - 搜尋引擎檢索
使用.htaccess 來阻止不想要的訪客來你的網頁
在這個文章中,我們將會討論「如何藉由.htaccess阻止不想要的訪客或是機器人訪問你的網頁」
.htaccess是在伺服器中的隱藏檔案,它可以控制網頁與其他工具之間存取的權限。
按照下面步驟,我們可以通過幾種不同的方法,可以阻擋不需要的訪客進入你的網頁。
編輯你的.htaccess檔案
要使用任何的方式去阻擋一個不需要的訪客進入你的網頁,你必須要編輯.htaccess檔案。
使用IP位址阻擋
網頁的問題,很可能是一組或是多組IP位址造成的,在這樣的情況下,你可以很簡單的編輯設計一些程式碼,從你的網頁權限來阻擋這些有問題的IP位址。
阻擋單一IP位址
如果只想阻擋一組IP或是多個不同範圍內的IP,你可以使用設計編輯以下程式碼
阻擋多個IP位址
阻擋一個範圍的IP,例如123.123.123.1 - 123.123.123.255,你也可以把最後一組位元刪除。
你也可以使用CIDR(Classless Inter-Domain Routing) 無類別區隔路由標記方式來阻擋IP。
阻擋範圍123.123.123.1 - 123.123.123.255, 使用 123.123.123.0/24
阻擋範圍123.123.64.1 - 123.123.127.255, 使用 123.123.123.0/18
依據User-Agent string 來阻擋不良用戶
一些惡意的用戶會使用不同的IP傳送請求,但是在這些全部請求之中,只使用相同的User-Agent,在這種情況下,你可以只阻擋用戶的User-Agent字串。
阻擋單個不良User-Agent
如果你只想阻擋一個特殊的User-Agent字串,你可以使用RewriteRule。
二擇一,你也可以使用BrowserMatchNoCase 伺服器指令,設計編輯以下程式碼
阻擋多個不良User-Agent
如果你想一次阻擋多個User-Agent,你可以設計編輯以下程式碼。
或者你也可以使用BrowserMatchNoCase 伺服器指令,設計編輯以下程式碼
阻擋不良參照連結(盜連)
Block a single bad referer阻擋單個參照連結
如果你只想阻擋單個參照連結例如:example.com ,你可以使用RewriteRule,設計編輯以下程式碼
二擇一,你也可以使用 SetEnvIfNoCase 伺服器指令,設計編輯以下程式碼
,設計編輯以下程式碼阻擋多個參照連結
如果你想阻擋多個參照連結例如:example.com、example.net,你可以設計編輯以下程式碼。
或者你也可以使用SetEnvIfNoCase 伺服器指令,設計編輯以下程式碼
暫時阻止不良搜尋機器人
在某些情況下,你或許不想要直接傳送403訊息網頁給訪客,因為那是個(長時間)拒絕他進入網頁的訊息。
舉個例子來說,例如當天有個行銷活動,網頁將會產生大量的的網路流量,在這期間,你不想要讓一些好的搜尋引擎機器人像是GOOGLE或是雅虎,進入你的網頁並檢索網頁,因為有可能會使用額外的流量來增加伺服器的負擔
以下程式碼,將可以用503回應的方式來設定基本的錯誤網頁訊息,這是用預設的方式去告訴搜尋引擎,這個請求只是暫時性的被阻擋並且一段時間後可以再嘗試。503回應與403回應是不同的,503是通過430回應來暫時性的拒絕進入權限,像是GOOGLE將會確認為503回應後,他們將會再來嘗試檢索網頁,並非刪除他的檢索。
當你注意到一些新的搜尋機器人在爬(抓取)你的網頁太頻過頻繁,並且你想要阻擋他們或是讓他們不要那麼頻繁抓取,可以使用robots.txt檔案來處理,是一個不錯的方式。
一樣的,它會以503方式回應請求,直到它們讀取到你新的robots.txt規則,在來執行它。你可以閱讀【「如何使用robots.txt阻止搜尋引擎爬(抓取)你的網頁?」】
以下代碼會抓取User-Agent的任何請求,其中包含搜尋機器人、搜尋爬蟲、搜尋蜘蛛,大多數主要的搜尋引擎都是符合的,第二個RewriteCond是允許這些機器人仍然可以請求robots.txt檔案來核對最新的規則,但是任何其他的請求都很單純的得到503網頁回應或是"Site temporarily disabled for crawling"。
常態來說,妳在開始使用兩天後,還不想刪除503回應的話,GOOGLE可能會開始去理解成長時間的伺服器中斷,並且會開始從GOOGLE的索引刪除你的網頁連結。
歡迎推廣本文,請務必連結(LINK)本文出處:新視野網頁設計公司