mod_perl
предоставляет способ запускать скрипты Perl в httpd.conf
:
<perl>
...scripts goes here...
</perl>
Как мне настроить httpd.conf
так что скрипты внутри <perl></perl>
только беги, если есть flag
параметр в строке запроса?
Используйте Perl для оценки query_string, а затем используйте if
оператор, чтобы пропустить остальные, если параметр не установлен.
Возможно что-то вроде этого *:
<perl>
if (length ($ENV{'QUERY_STRING'}) > 0){
$buffer = $ENV{'QUERY_STRING'};
@pairs = split(/&/, $buffer);
foreach $pair (@pairs){
($name, $value) = split(/=/, $pair);
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$in{$name} = $value;
}
}
if (defined $in{'flag'}){
#Your Code here
}
</perl>
* могут быть другие способы разбить query_string, вот где я взял свой пример.