Como eu configuro o httpd.conf para que os scripts dentro de perl / perl sejam executados somente se houver um parâmetro flag na cadeia de consulta?

2

mod_perl fornece uma maneira de executar scripts perl em httpd.conf :

<perl>
...scripts goes here...
</perl>

Como configuro httpd.conf para que os scripts dentro de <perl></perl> sejam executados apenas se houver um parâmetro flag na string de consulta?

    
por linux 19.07.2011 / 10:40

1 resposta

1

Use Perl para avaliar o query_string e, em seguida, use uma instrução if para ignorar o restante, se o parâmetro não estiver definido.

Talvez algo como isto *:

<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>

* pode haver outras maneiras de dividir a query_string, aqui é onde eu recebi meu exemplo .

    
por 19.07.2011 / 14:23