Isso realmente depende da sua configuração. Como o interpretador de php é invocado? Você está usando via CGI, FastCGI ou está usando o interpretador php embutido, também conhecido como mod_php?
Temos um arquivo .htaccess em uma pasta configurada com deny, conforme a seguir:
Order deny,allow
Deny from all
Allow from <whitelist IP>
Allow from <whitelist IP>
....
Não há outras regras de reescrita etc. neste arquivo, apenas o negar / permitir material.
Se você tentar acessar o link (sem nome de arquivo) de um IP negado, receberá o erro Proibido conforme o esperado. Se, no entanto, você acessar o link - onde filename.php é um arquivo válido dentro da pasta, por exemplo, o formulário de login, a página carrega - mas sem imagens ou CSS (presumivelmente ainda negado pelo .htaccess)
Por que essa configuração do .htaccess não impede o acesso de IPs negados a toda a pasta - pode haver uma permissão de servidor conflitante em algum lugar que a substitua?
Isso realmente depende da sua configuração. Como o interpretador de php é invocado? Você está usando via CGI, FastCGI ou está usando o interpretador php embutido, também conhecido como mod_php?
Parece que o conteúdo do .htaccess não está sendo interpretado e o resultado "Proibido" ao acessar o diretório vem de DirectoryListings proibidas (arquivo de índice inexistente?).
Tags security .htaccess apache-2.2