Как настроить 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>

* могут быть другие способы разбить строку запроса, вот где я взял мой пример.

Другие вопросы по тегам