Uma visão geral muito geral:
-
Os diretórios
- em que os usuários (ou seja, PHP) podem gravar dados devem estar fora da raiz do seu documento httpd.
- diretórios que armazenam o conteúdo do apache devem requerer acesso de leitura mundial, e não muito mais, ou seja, 0755 é mais do que suficiente.
Diretórios requerem acesso ao eXecute; arquivos não devem ter permissões de execução.
Não, nem arquivos PHP. - As permissões padrão são determinadas pelo conjunto de umask para o usuário que o apache executa como.
- arquivos enviados devem ser examinados e verificados antes de serem disponibilizados para download.
Dependendo do país em que você está, você pode ser responsabilizado se permitir que as pessoas enviem e distribuam vírus para download.