SuPHP: PHP 403 ErrorDocument no Apache não funciona

0

Eu estou tentando configurar um documento de erro 403 no Apache, usando um arquivo PHP, como este (via .htaccess):

order deny,allow
deny from all
allow from [MY_IP]
ErrorDocument 403 /err403.php

mas ele não funciona, ele mostra o erro padrão 403 do apache, mas se eu usar um erro .html, ele funciona assim:

order deny,allow
deny from all
allow from [MY_IP]
ErrorDocument 403 /err403.html

Em seguida, mostra o documento HTML personalizado com a página de erro. Estou usando o SuPHP . E o apache e php nos repositórios do Ubuntu 14.04 Server.

Se eu remover esta restrição do .htaccess, o arquivo err403.php poderia ser lido normalmente.

Alguma ideia? Obrigado !!

edit: ie, mudando a permissão do ip para outro ip para que ele acione o erro.

    
por Iacchus 04.07.2014 / 08:40

3 respostas

1

Você precisa colocar o err403.php em um diretório onde o usuário (ou, no seu caso, o IP) tenha acesso.

Caso contrário, o apache não pode entregar a página e o padrão é voltar para a página de erro padrão 403.

Certifique-se também (como você usa o ubuntu 14.04 com o apache 2.4) que você alterou sua configuração de acesso usando "require". As diretivas order, allow, denied são reprovadas.

Exemplo completo:

ErrorDocument 403 /path/accessible/to/all/err403.php

<Directory /path/your/website/>
    Require ip [your_ip]
</Directory>
    
por rechengehirn 04.07.2014 / 08:55
0

Além de responder por rechengehirn pode-se colocar o arquivo na própria pasta restrita, permitindo apenas o arquivo de erros.

order deny,allow
deny from all
allow from [MY_IP]

<Files "err403.php">
    allow from all
</Files>

ErrorDocument   403     /err403.php
    
por Iacchus 04.07.2014 / 18:16
0

Eu lutei com isso por um longo tempo hoje, e nada funcionou até que eu usei um FQDN:

    <VirtualHost *:80>
        ServerName myServer.rad.awesome.com
        ServerAlias myServer.rad
        Alias /static/ /my/Doc/Root
        <Directory /my/Doc/Root/static>
            Options All
            AllowOverride All
            ErrorDocument 403 "http://myServer.rad.awesome.com/youNoEnter.html"
            order deny,allow
            Deny from all
            allow from (MY IP)
            satisfy any
        </Directory>
     </VirtualHost>

Basta colocar o seu ErrorDocument em uma URL absoluta e isso pode funcionar.

    
por Kevin Celebi 30.08.2018 / 15:31