以前から、ローカル(ラズパイ)からpythonで定期的にブログ(WordPress)のステータスコードをチェックするプログラムを動かしているのですが、このブログのURLでチェックしるので、今後、このブログを移転した場合は今利用してるサーバーでチェックできないなぁって思ったので、今のレンタルサーバー契約したときに付いてきたサブドメインで新しくブログ作って、そっちでステータスコードチェックするように変えました。
ステータスコードチェック用のブログは公開しないので「自分」以外(実行プログラム以外)アクセスしないようにと「.htaccess」でIP制限も考えましたが、モデムの再起動などでIPアドレス変わっては困るので、特定のユーザーエージェントのみ許可するようにしました。
ちなみに、この方法だとブラウザで403エラーになり表示できないので、ブログ(WordPress)にログインも出来なくなります。
htaccessで特定ユーザーエージェントだけを許可する
とりあえずソースから
<IfModule mod_rewrite.c>
SetEnvIf User-Agent "python-requests" HOGE
order deny,allow
deny from all
allow from env=HOGE
</IfModule>
全制限してユーザーエージェントの「python-requests」だけ許可している。プログラム以外からは403エラーで動作してるので多分大丈夫っぽい。
プログラムなので、ユーザーエージェントはサーバーのアクセスログから確認。
あとがき。参考にしたサイト
ユーザーエージェントで制限する。
ユーザーエージェントの書き方を参考にした。(ユーザーエージェントをブラウザ名にして制限がかかるか確認)
.htaccessを使ってユーザーエージェント指定でアクセス制限|マコトのおもちゃ箱 ~ぼへぼへ自営業者の技術メモ~
「.htaccessを使ってユーザーエージェント指定でアクセス制限」についてです。主にシステム開発中に調べたことをメモし...
ホスト/IP制限。
上記の参考にしたサイトと逆の事をやりたかったので、こちらのサイトの「特定ホストだけのアクセスを許可する」を参考。
404 Not Found
結局、「ユーザーエージェントの制限」で参考にしたブログから「allow」と「deny」を逆にしただけです。