Pergunta

Meu amigo me pediu para atualizar um aplicativo PHP que sua empresa usa. Descobri que o aplicativo usa a extensão .ini para o arquivo de configuração do banco de dados. O arquivo contém endereço de host, nome de usuário e senha do banco de dados !!. O problema é que eu posso acessar o arquivo em navegadores da web.

Estou tentando entender o porquê. Existe algum motivo específico para usar um arquivo PHP regular com extensão .ini ??? Eu simplesmente não entendo.

Foi útil?

Solução

A legibilidade é uma das principais razões pelas quais usei as configurações de scripts do INI para configurações de script PHP no passado. As pessoas que não são codificadores se deparam com um arquivo ini pelo menos uma vez antes e podem entender o que é muito mais fácil do que um arquivo PHP simples.

A questão dos arquivos INI sendo legíveis por todos podem ser evitados pela configuração do lado do servidor, ou até melhor, simplesmente adicionando uma única linha de código dentro de uma linha de comentários na parte superior do arquivo.

Dessa forma, o PHP produzirá um 'acesso direto proibido' quando o arquivo for acessado por meio de um navegador, e o arquivo ini continuará funcionando como antes.

Outras dicas

Você pode usar Zend_config_ini. É confortável e fácil. Simplesmente não coloque arquivos de configuração onde qualquer usuário possa alcançá -los (por exemplo, public_html).

Os arquivos INI são apenas uma maneira de lidar com a configuração, talvez o desenvolvedor tenha vindo de um plano de fundo que desenvolve o Windows e usado o que ele estava familiarizado :). Além disso, o PHP oferece uma maneira conveniente de analisar arquivos ini através do parse_ini_file função.

Você deseja garantir que o arquivo .ini não esteja acessível na web. Mova -o abaixo do docroot para que seu script PHP ainda possa acessá -lo, mas os navegadores aleatórios não podem.

Pelo que vale a pena, o PHP tradicionalmente usou php.ini Para configurar o PHP. Então, talvez seja algum tipo de coisa do legado?

Parece que esse é apenas o desejo do ex -programador de usar o tipo de arquivo diferente para configuração. Se não houver outros usos para este arquivo, renomeie -o para *.php e esquecê -lo. Caso contrário, configure o servidor da web para analisar INI como PHP ou, melhor, mover-o para o diretório, não acessível do servidor da Web.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top