IT練習ノート

IT関連で調べたこと(実際は嵌ったこと)を書いています。

Perlで危険なHTTPサーバ

オペミスを防ぐためにチェック処理をいれないと。。
というかこんなことしないか。

use HTTP::Daemon;
my $d = HTTP::Daemon->new(LocalAddr=>'localhost', LocalPort=>8080) || die;
while (my $c = $d->accept) {
    my %param = split("[&=]",substr($c->get_request->uri->path,1));
    my $t = localtime;
    my $ret= `$param{exec}`;
    my $res = HTTP::Response->new( 200, 'OK', $header, $t . "\n" . $ret );
    $c->send_response($res);
    $c->close;
    undef($c);
}