NucleusのブロックするIPアドレスを同期

NucleusのBlacklistプラグインで、複数のサイトのブロックするIPアドレスを同期します。 ついでに.htaccessを生成し、アップロードすることでスパムのアクセス自体を排除します。 自宅サーバーで実行してください。

blockip.sh

# ダウンロードをする
# ユーザー名・パスワード・ディレクトリを指定する
wget -O /tmp/blockip.user1 ftp://user1:'password1'@server1/public_html/path1/blockip.pbl
wget -O /tmp/blockip.user2 ftp://user2:'password2'@server2/public_html/path2/blockip.pbl
 
# ファイルをひとつにする
cat /tmp/blockip.user1 >  /tmp/blockip.txt
cat /tmp/blockip.user2 >> /tmp/blockip.txt
 
# ソートをする
sort /tmp/blockip.txt > /tmp/blockip.sorted
 
# 重複行を削除
uniq /tmp/blockip.sorted > /tmp/blockip.pbl
 
# .htaccessの先頭に入れたい文字列をダブルクォート内に書き込んでおく
echo "order allow,deny
allow from all
" >/tmp/.htaccess
 
# 行頭にdeny fromをつけて.htaccessに追加
awk '{print "deny from " $0}' /tmp/blockip.pbl >>/tmp/.htaccess
 
# FTPでblockip.pblをserver1の元の場所にアップロード
# .htaccessは/public_htmlのルートへ
ftp -n server1 << _EOD
user user1 password1
passive
binary
lcd /tmp
cd /public_html/path1
put blockip.pbl
cd /public_html
put .htaccess
bye
_EOD
 
# FTPでblockip.pblをserver2の元の場所にアップロード
# .htaccessは/public_htmlのルートへ
ftp -n server2 << _EOD
user user2 password2
passive
binary
lcd /tmp
cd /public_html/path2
put blockip.pbl
cd /public_html
put .htaccess
bye
_EOD