mod_perlでApacheを拡張
あるディレクトリ配下にアクセスするのは「ほにゃらら制限」を設けたい。しかしApacheの設定だけではできんよ。
と言った場合、こんな感じでできるっぽい。
httpd.conf
<Location /> PerlAccessHandler MyApache2::BlockByIP </Location>
package MyApache2::BlockByIP; use strict; use warnings; use Apache2::RequestRec (); use Apache2::Connection (); use Apache2::Const -compile => qw(FORBIDDEN OK); my %bad_ips = map {$_ => 1} qw(127.0.0.1 10.0.0.4); sub handler { my $r = shift; return exists $bad_ips{$r->connection->remote_ip} ? Apache2::Const::FORBIDDEN : Apache2::Const::OK; } 1;
これくらいの制限ならmod_perlで書く必要はないけど、色々使えそう。