Как настроить httpd.conf так, чтобы скрипты внутри <perl></ perl> запускались только при наличии параметра flag в строке запроса?
mod_perl
предоставляет способ запуска сценариев Perl в httpd.conf
:
<perl>
...scripts goes here...
</perl>
Как мне настроить httpd.conf
так что скрипты внутри <perl></perl>
только беги, если есть flag
параметр в строке запроса?
1 ответ
Используйте Perl для оценки строки запроса, а затем используйте 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>
* могут быть другие способы разбить строку запроса, вот где я взял мой пример.