Estou escrevendo um aplicativo PHP grande (com configuração) pela primeira vez e estou pensando sobre as precauções de segurança que devo tomar para obter permissões.
setup.php usa fopen/fwrite para gerar um config.php baseado em dados POST que vêm de setup.php. Isso funciona, mas parece que não consigo escrever em config.php a menos que defina as permissões dele como 777
.
Config.php conterá essencialmente as credenciais do banco de dados em variáveis PHP (para serem incluídas ()). É bom deixar como 777
?
Estou me perguntando se está tudo bem ou devo instruir o usuário a alterar as permissões de volta para algo como 655 (não tenho certeza).
Responder1
Você deve ter as permissões de arquivo definidas como aquelas necessárias para realizar o trabalho em questão. Pode ser 777 para instalação e 644 para execução do aplicativo.
Cada vez que seu aplicativo for executado, você deve verificar se as permissões (em arquivos e caminhos críticos) são as desejadas e, em seguida, emitir uma mensagem de erro e interromper a execução do aplicativo, caso não sejam.
Responder2
Muitos aplicativos PHP exigem que você defina config.php como 777 enquanto o produto está sendo instalado. Acho que isso é perfeitamente aceitável, mas o usuário deve ser avisado de que o arquivo deve ser redefinido para 644 quando a configuração for concluída.
Outra solução é fazer com que o usuário codifique o config.php com as configurações do banco de dados. No entanto, isso complica as coisas para alguns novos usuários.