2022 年 9 月更新:現在使用 WordPress;和 Wordfence 插件完成了大部分工作。無論如何,如果對任何人有幫助的話:
我一直遇到服務器負載過高的問題- 我的網絡主機認為Joomla 可能存在問題(過多的MySQL 查詢),或者可能是由於網站的過度蜘蛛抓取,包括非google、Inktomi 或其他惡意機器人的抓取更可接受的嫌疑人。我已經嘗試過使用 robots.txt 對 google、msn 等進行爬行延遲,同時禁止相當長的其他蜘蛛列表。但仍然是一個問題。
現在使用由 Webmasterworld 成員編寫的腳本 [自從停止使用後,轉移到另一個網絡主機後,由於文件時間的更改而出現了一些麻煩] – 最初由 Xicus 編寫,後來由 Giacomo 進行了一些修改,之後又由AlexK,聽取了各個成員的意見。
似乎最容易適用於 php 網站;但也可以在具有靜態頁面的網站上使用。
應該找到正在攻擊網站的機器人,也許正忙著抓取內容;識別出他們後,應該阻止他們。
第一天晚上我嘗試了該腳本,發現日誌文件報告搜狗蜘蛛突發訪問,每次突發訪問之間有十秒的間隔。
添加到其他幾個網站,這裡也報告發現了不良機器人 - 包括慢速和快速的抓取工具,其中兩三個每秒最多發出 5 個請求。其中一個網站只有三個月左右的歷史,鏈接很少,但卻吸引了一兩個爬蟲:我想知道維基百科上是否有兩個頁面的鏈接,而維基百科本身就是爬蟲的熱門目標。 (我沒想到他們還會繼續抓取外部鏈接中的網站,但事後看來似乎是合乎邏輯的,部分原因是來自維基百科的鏈接比來自任何地方的隨機鏈接更有可能有用。)
– 只是也許,有助於減少服務器負載,因為我的網絡主機幾天來沒有發現重大問題。手指交叉!
網站管理員世界上需要瀏覽的大量信息 – 跨越三個或四個線程,包括:
阻止行為惡劣的失控網絡爬蟲
和
阻止行為不良的機器人 #3
基本說明足夠簡單;事實上,php 文件中的註釋中有一些說明。
但是,我——一個 php 傻瓜——花了相當長的時間才弄清楚該怎麼做。為了避免您想嘗試該腳本,從 Giacomo 的帖子中獲取此信息可能會很有用:
指示:
1. 複製上面的代碼,包括
<?php
和?>
分隔符,將其粘貼到空文本文件中並將其保存到網站的文檔根文件夾(通常,公共_html/
)作為“botblocker.php”(或您喜歡的任何其他名稱)。2. 在裡面新建一個目錄
公共_html
文件夾並命名“機器人攔截器”
;確保該目錄可由服務器寫入(chmod it 777)。如果您不知道如何 chmod 目錄,請使用以下腳本:
<?php
chown ($_SERVER["DOCUMENT_ROOT"]."/botblocker/", 無人);
chmod ($_SERVER["DOCUMENT_ROOT"]."/botblocker/", 0777);
?>
3. 確保將該腳本包含在所有 PHP 頁面的頂部,如下所示:
<?php require_once($_SERVER["DOCUMENT_ROOT"]."/botblocker.php" );?>
或者,按照 DrDoc 的建議,您可以將以下內容添加到 .htaccess 文件中:
<IfModule mod_php4.c>
php_value auto_prepend_file“/path/to/file/botblocker.php”
</IfModule>
後一種方法要求您將“/path/to/file”替換為網站文檔根文件夾的實際路徑。您可以使用以下 PHP 腳本輕鬆獲取路徑:
就這樣。 😉
注意:我嘗試為該 Joomla 網站上的頁面設置“require_once” - 通過向我的模板添加代碼 - 但似乎不起作用 - 腳本應該使用的文件夾中沒有任何反應。相反,我將“IfModule…”行添加到我的 htaccess 中,然後開始工作。該網站包含一些靜態的純 html 頁面 - 看起來它們仍然工作正常。
如果您想在具有 html 頁面且不支持 php 的網站上使用,最好在 Webmasterworld 論壇上尋找 AlexK 的說明。
我一直在與 AlexK 聯繫劇本和大量信息,建議他可能會寫下信息和說明摘要:他說他會這樣做一次。希望當他這樣做時,我會用鏈接更新此頁面。