Como posso impedir que os usuários vejam meu código-fonte do PHP?

1

Eu tentei acessar meu site recentemente e vi algo perturbador - os usuários podiam baixar o arquivo index.php e ver seu conteúdo, o código PHP!

Como isso é possível, para o Apache servir o código-fonte do PHP em vez de executar o código-fonte do PHP? É porque estávamos atualizando nosso site para manutenção?

Eu usei este código:

ErrorDocument 503 "Our website is temporarily closed for maintenance. It should reopen by..."
RewriteEngine On
# TO ALLOW YOURSELF TO ACCESS THE SITE NORMALLY, SET THE NEXT LINE TO YOUR IP ADDRESS.
RewriteCond %{REMOTE_ADDR} !^111\.222\.333\.444$
RewriteRule .* - [R=503,L]

Agora esta mensagem aparece.

Mas como posso fazer isso aparecer automaticamente quando isso acontece de novo?

    
por moustafa 07.01.2010 / 17:53

2 respostas

5

O Apache não foi "eliminado" ou "desligado", ou então você não teria sido capaz de ver a fonte do php. Você pode adicionar o codeblock abaixo para desativar os arquivos .php quando o php não estiver carregado:

<IfModule !mod_php4.c>
    <FilesMatch "\.php$">
        Order allow,deny
        Deny from all
        Allow from none
    </FilesMatch>
</IfModule>
    
por 07.01.2010 / 18:02
4

Para responder ao comentário do post postado como resposta, uma das opções a seguir deve funcionar para o módulo PHP5, dependendo de como ele está instalado (modificado por Sander Rijken):

<IfModule !mod_php.c>
    <FilesMatch "\.php$">
        Order allow,deny
        Deny from all
        Allow from none
    </FilesMatch>
</IfModule>

Ou

<IfModule !mod_php5.c>
    <FilesMatch "\.php$">
        Order allow,deny
        Deny from all
        Allow from none
    </FilesMatch>
</IfModule>

Inclua apenas um desses dois trechos, dependendo do que funciona para sua configuração.

    
por 07.01.2010 / 18:22