スポンサーリンク
スポンサーリンク

htaccessで特定UserAgentだけをブログにアクセス許可してみたメモ

以前から、ローカル(ラズパイ)から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制限。

上記の参考にしたサイトと逆の事をやりたかったので、こちらのサイトの「特定ホストだけのアクセスを許可する」を参考。

ミケネコの htaccess リファレンス

結局、「ユーザーエージェントの制限」で参考にしたブログから「allow」と「deny」を逆にしただけです。