403errの案内ページを作成する

スパムアクセス(スパムコメントを含む)があまりに多いので、UserAgentでIE 6.0と同7.0からのアクセスを締め出しているのですが、弾いたこれらのアクセスログを見ていると、これらのブラウザを使ってアクセスしてきた中にも、実は検索サイト(Yahoo!やGoogle)からやってきた人が一定数含まれていることに気づきました。

もちろん、だからといってIE 6.0-7.0でのアクセスを許可するわけにも行かないし、ならトップレベルドメインがJPのものだけ通すようにしようかなー、とも思ったのですが、JPドメインからスパムアクセスがないというわけでもないこともあって、二の足を踏んでいました。

でも、IE 6.0-7.0で正当にアクセスしてきてくれる人をいつまでも排除するのもどうなの?ということで、とりあえずIE 6.0-7.0でアクセスしてきた人に、IE 6.0-7.0ではアクセスできませんよ、という案内を表示するようにしました。

おそらくIE 6.0-7.0でアクセスしてきた人には、403Forbiddenが表示されているはずなのですが、このページをオリジナルなものに作り変え、そこにIE 6.0-7.0ではアクセスできませんよ、というメッセージを入れることにしたわけです。

403Forbiddenを書き換えるには、apacheの設定ファイル、/etc/httpsd/conf/httpsd.confの該当箇所に修正を加えればいいという情報を得ているので、まずはそこを修正し、変更後の403Forbiddenページをアップロードします。

httpsd.confの中に、

#
# Customizable error responses come in three flavors:
# 1) plain text 2) local redirects 3) external redirects
#
# Some examples:
#ErrorDocument 500 “The server made a boo boo.”
#ErrorDocument 404 /missing.html
#ErrorDocument 404 “/cgi-bin/missing_handler.pl”
#ErrorDocument 402 https://www.example.com/subscription_info.html
#

というセクションがあるので、ここに追記していきます(コメントアウトを外すのではなく、新たに書き加えていきます)。

今回付け加えたいErrorDocumentは403なので、次の一文を加筆します(当たり前ですが、パスやファイル名は適宜修正です)。

ErrorDocument 403 /403.html

加筆したらapacheを再起動します。

これで以後IE 6.0-7.0でアクセスしてきた人に、ブラウザのバージョンを上げるかブラウザを変えてくれ、というメッセージを送ることができている・・・はず。

なんで「はず」かというと、うちにはすでにIE 6.0もIE 7.0も無いからです(笑)
幸い、会社がIE 6.0なので(これはホントは非常に危険なことですよね)、とりあえず明日出社したらちょっとアクセスして試してみましょう!

うまく行かなくても、iphone5sからSSHでリモートログインして修正することができますし、ね!(笑)

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)