A execução do PHP nas permissões do servidor da Web não é necessariamente melhor ou pior do que o uso do SuPHP. É apenas diferente . O primeiro modelo separa o proprietário do servidor da Web, enquanto o segundo modelo separa o proprietário (e seu código PHP) de todos os outros usuários na máquina.
O uso do suPHP não aumenta necessariamente sua segurança geral, apenas o redireciona. Em vez de tentar impedir invasões, você está isolando os sites uns dos outros. A justificativa é que, particularmente em um ambiente de hospedagem compartilhada, o antigo modelo de segurança não estava funcionando: os usuários constantemente exploravam sua segurança, definindo permissões de gravação mundial em tudo para que o aplicativo da Web funcionasse e, em seguida, o comprometimento de segurança em uma conta rapidamente metastataria para todos os outros no servidor.
Portanto, é comum agora usar ferramentas como suPHP em grandes ambientes de hospedagem compartilhada para remover a barreira entre o usuário e seu aplicativo PHP e, em vez disso, erigir uma barreira entre um usuário e seus vizinhos.
Portanto, neste caso, você não fornece segurança , você fornece separação . Infelizmente, o suPHP requer que os arquivos sejam de propriedade pelo usuário que você pretende executar, portanto, criar um usuário de FTP separado seria ... uma bagunça. Você precisaria constantemente de chown
arquivos entre o usuário suPHP e o usuário FTP.
Em vez disso, você precisa escolher uma função: proteger um site ou proteger um servidor. Se você deseja proteger o site, é necessário separar o servidor da Web do proprietário do conteúdo. Esse é um relacionamento um tanto complexo para ser mantido corretamente, por isso não é recomendado para ambientes de hospedagem compartilhada. Se, ao invés disso, você quiser proteger o servidor de seus usuários, então use o suPHP para separar o usuário (e seu código) dos outros no servidor. Nesse caso, o usuário é responsável por sua própria segurança. Boa sorte, usuário! Tecnicamente, é possível ter um aplicativo PHP seguro - em teoria, pelo menos.