É possível que o Apache exiba o código fonte do PHP se o PHP travar?

3

Esta é mais uma questão de segurança: Existe alguma circunstância (isto é, executar o PHP como um binário CGI versus o módulo Apache, exemplos de configurações padrão pobres, etc.) onde o Apache renderiza o código-fonte não processado para um script PHP se o PHP foram a falhar independentemente do Apache?

    
por Andrew Odri 24.11.2012 / 00:11

1 resposta

3

Não: o script delegado do Apache é processado inteiramente para o PHP usando algum método ou outro (DSO, CGI, suPHP, qualquer que seja). Seja qual for a saída, será tratada como a resposta a ser renderizada para o usuário.

Se ele falhar, na maioria das vezes, o processo falhará sem gerar cabeçalhos. Se ele não tiver cabeçalhos de saída (o que o Apache saberá porque não encontrará uma única linha em branco na resposta), ele renderizará um 500 Internal Server Error com falha e registrará uma mensagem no seu error_log com Premature end of script headers . / p>

Se, digamos, conseguiu gerar:

Content-type: text/plain

Segmentation Fault

Em seguida, o usuário verá "Falha de segmentação" na tela, nada mais, nada menos.

Sua pergunta também diz:

examples of poor default configurations

Sim, se o Apache não estiver configurado para processar páginas PHP, então ele irá mostrar apenas o arquivo para o usuário. Fora isso, não há nenhum tipo de configuração ruim que possa colocá-lo em um meio-estado onde ele funciona mais da hora, mas não o tempo todo.

    
por 24.11.2012 / 00:14