Security
防火牆 - 防止內容盜竊和流氓爬蟲
我們的網站經常被內容竊賊抓取。我們顯然希望讓漂亮的機器人和合法的使用者活動通過,但阻止有問題的活動。
我們已經在防火牆上嘗試了 IP 阻止,但這變成了管理阻止列表。此外,我們使用了 IIS 處理程序,但這會使我們的 Web 應用程序複雜化。
是否有人熟悉可以減少或消除內容抓取工具的網路設備、防火牆或應用程序服務(例如 IIS)?
如果爬蟲是機器人而不是人類,您可以嘗試創建一個honeypot目錄,他們將通過該目錄中的“預設頁面”腳本自動爬入並被阻止(通過 IP 地址)。人類可以輕鬆解鎖自己,但它會阻止機器人,因為他們會在任何進一步訪問時收到 403“未授權”錯誤。我使用這樣的技術來阻止不遵守 robots.txt 的不良機器人,但不會永久阻止共享相同 IP 或“意外”導航到阻止腳本的人。這樣,如果共享 IP 被阻止,它就不是永久性的。這是如何做:
我在 robots.txt 中阻止的一個或多個子目錄(文件夾)中設置了預設(腳本)頁面。如果該頁面由行為不端的機器人(或窺探者)載入,則會將其 IP 地址添加到阻止列表中。但是我有一個 403(“未授權”)錯誤處理程序,它將這些被阻止的 IP 重定向到一個頁面,解釋正在發生的事情並包含一個人類可以用來解鎖 IP 的驗證碼。這樣一來,如果一個 IP 被阻止是因為一個人曾經出於惡意目的使用它,那麼下一個獲得該 IP 的人將不會被永久阻止 - 只是有點不便。當然,如果一個特定的 IP 經常被重新阻止,我可以手動採取進一步的步驟來解決這個問題。
這是邏輯:
- 如果 IP 沒有被封鎖,則允許正常訪問。
- 如果訪客導航到禁止區域,請阻止他們的 IP。
- 如果 IP 被阻止,將所有訪問重定向到包含驗證碼的“解除阻止”表單。
- 如果使用者手動輸入正確的驗證碼,請從阻止列表中刪除 IP(並記錄該事實)。
- 沖洗、起泡、重複上述步驟以進行進一步操作。
而已!一個腳本文件來處理阻止通知和取消阻止驗證碼送出。robots.txt 文件中的一項(最少)。htaccess 文件中的一個 403 重定向。