私はWebアプリケーションを開発していますが、クライアントに表示される前にHTTPリクエストをインターセプトまたは処理できる方法または何らかのモジュールがあるかどうか疑問に思っています。httpd.confファイルを変更できないので、オプションではありません。アクセスを拒否したり、他のページにリダイレクトしたり、クライアントに送信される応答やその他のものを変更したりして、Webアプリにセキュリティを追加するためにこれを実行したいと思います。リクエストディスパッチについても聞いたことがありますが、それが役立つかもしれません。誰かがこれを達成する方法を知っていますか?
質問する
346 次
2 に答える
3
おそらく、Plack :: Handler::Apache2を使用してPSGIサポートを有効にすることができます。そこから、PSGIミドルウェアモジュールを使用して、要求と応答の両方を変更できます。
mod_perl環境で実行されるPerlをどのように設定したかを知らなければ、より具体的にすることは困難です。
于 2012-11-26T21:40:28.577 に答える
2
Webプロキシを作成するためのperlモジュールであるHTTP::Proxyをチェックアウトすることをお勧めします...この例:
# alternate initialisation
my $proxy = HTTP::Proxy->new;
$proxy->port( 3128 ); # the classical accessors are here!
# this is a MainLoop-like method
$proxy->start;
my $d = HTTP::Daemon->new || die;
while (my $c = $d->accept) {
while (my $r = $c->get_request) {
if ($r->method eq 'GET' and $r->uri->path eq "/xyzzy") {
# remember, this is *not* recommended practice :-)
$c->send_file_response("/home/hd1/.zshrc");
}
else {
$c->send_error(RC_FORBIDDEN)
}
}
$c->close;
undef($c);
}
于 2012-11-26T20:11:38.613 に答える