我收到很多失敗的登錄請求垃圾郵件發送者/漫遊器嘗試強制憑據,我也收到很多請求,如/forum/index.php
。在Rails App中阻止垃圾郵件發送者的可靠方法?
我寫了一個腳本,從production.log解析那些攻擊者的IP的:
#!/bin/bash
# Failed Logins
grep "Failed " ~/app/log/production.log | egrep -o -e "[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}" | sort | uniq > ~/spammers.txt
# Try to GET .php Files
cat ~/app/log/production.log | awk '$0!~/^$/ {print $0}' | sed -n -e "N; /\.php/p" | grep "ApplicationController#index" | egrep -o -e "[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}\.[0-9]{2,3}" | sort | uniq >> ~/spammers.txt
但我不能阻止(.httaccess)的IP的,直到我手動檢查其來源由Geolocation。
是否存在針對此問題的Rail-ish解決方案?
不知怎麼阻止他們,我敢打賭,黑客寫劇本不尊重緩存標題。另外,我敢打賭,黑客只是打擊常見的URL,即使它是一個開放的ID站點,也會繼續這樣做。 – 2010-06-19 22:07:21
在渲染頁面之前使用sleep只會影響你的rails進程。不要這樣做。 – 2010-06-19 22:07:48
@Scott S - 好點。睡眠應該發生在呈現登錄表單的網頁javascript或登錄響應表單中。但你是第一個正確的......垃圾郵件機器人通常不是網絡瀏覽器中的程序。 – 2010-06-19 22:41:41