.htaccess redirect - É seguro?

1

Isso funciona; Eu não estou tendo problemas, mas eu quero ter certeza de que isso é à prova de balas.

Eu criei um pequeno .htaccess redirect , mas não tenho certeza se é seguro; você sabe?

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^goto/([a-z]+)/?$ /$1/ [R]
</IfModule>

Acho que, desde que o servidor esteja configurado corretamente e os arquivos lidem com a autenticação de forma autônoma, não será um problema de segurança. Além disso, sendo que a regra de reescrita só funciona com os caracteres a-z e uma barra, duvido que eles possam pular diretórios injetando coisas na URL. Eu acho ...

    
por r.crandall 18.11.2009 / 21:35

2 respostas

1

Na verdade, é discutível por causa da bandeira [R].

Como você está enviando um redirecionamento externo , isso significa que a segurança muda para o ponto em que o servidor recebe a URL reescrita. Neste ponto, é como se alguém tirasse uma URL de um keylogger no seu computador. O servidor deve tratar a URL reescrita por meio da nova solicitação, como se nunca houvesse uma reescrita.

    
por 28.11.2009 / 08:01
0

O redirecionamento do .htaccess em si é de fato "seguro" (a menos que um bug severamente explorável remotamente seja encontrado no código do Apache mod_rewrite ou mod_rewrite).

Vamos dar uma olhada em uma solicitação de amostra:

  1. O Apache (mod_rewrite) verifica se a regra corresponde a
  2. em caso afirmativo: o Apache não faz nada além de enviar um cabeçalho de redirecionamento para o navegador
  3. se isso não acontecer: o Apache processa a solicitação como qualquer outra (isto é, começa a procurar por um arquivo correspondente, ...)

O único problema que posso imaginar é de alguma forma redirecionar o visitante para um arquivo que ele / ela não deveria ver. Por exemplo, se o Apache tiver permissão para "seguir links simbólicos" e a regra de regravar apontar para um link simbólico para, por exemplo, seu / etc / passwd, o Apache agirá como instruído e enviará seu / etc / passwd para o navegador. Mas isso não é realmente uma questão de segurança do redirecionamento .htaccess.

    
por 28.11.2009 / 01:18