Expressão regular não funciona no .htaccess

1

Estou tentando limitar quais caracteres podem ser usados no URI de solicitação usando:

%pr_e%

RewriteCond% {REQUEST_URI}! ^ ([a-z0-9: / \. \ _ \ -]) [NC]

RewriteRule ^. * - [F, L]

Por alguma razão, não está funcionando. Alguma idéia?

Obrigado!

    
por Zero 16.11.2010 / 00:21

1 resposta

2

Boa pergunta. Uma boa maneira de proteger contra XSS (cross-site scripting).

Esta é a solução:

            RewriteEngine on
            RewriteCond %{REQUEST_URI} [^a-z0-9\_\:\/\.\-] [NC]
            RewriteRule () - [F,L]

Um equivalente mais curto seria:

            RewriteEngine on
            RewriteRule [^a-z0-9\_\:\/\.\-] - [F,L]
    
por 10.12.2010 / 01:01