Eu sou relativamente novo em desenvolvimento web, então, seja paciente.
Sou basicamente um desenvolvedor de iPhone, mas recentemente criei um site para outra pessoa usando hospedagem compartilhada. Eu poderia escrever bem em arquivos em PHP nesse site, sem ter que pensar em permissões.
Estou no processo de implantação de um serviço da Web para um novo aplicativo que estou criando, mas não está realmente indo bem. A diferença mais importante aqui é que estou usando o servidor de outra pessoa e apenas tenho acesso FTP / DB.
Basicamente, eu tenho uma carga de arquivos PHP que compõem meu CMS, assim:
mysite.com/admin/manage_news.php
mysite.com/admin/manage_events.php
Esses scripts editam o banco de dados ou os arquivos. Eles podem interagir com o banco de dados, no entanto, meus scripts não podem gravar no sistema de arquivos. Eles podem, por exemplo, tentar gravar nos seguintes arquivos:
mysite.com/data/img/event_1.png
mysite.com/data/somefile.txt
Isso funcionou bem na minha instalação do MAMP (localmente), mas uma vez implantado no servidor, o PHP gerava erros toda vez que uma gravação era tentada ... algo como isto:
Não foi possível abrir o arquivo "../data/img/someimage.png" para gravação.
Então, enviei um email para o cara que está executando o servidor e ele voltou dizendo:
Funciona com permissão pública? (777)
E foi o que aconteceu - mas eu fui muito cauteloso ao usar permissões públicas, então desabilitei imediatamente. Enviei um e-mail a ele dizendo "como posso escrever meus scripts PHP usando permissões de usuário padrão" e ele disse:
Deixe como público, tudo ficará bem
Eu acho que é um conflito de ip em algum lugar na resolução do domínio, mas não estou preocupado com isso.
Enviei-lhe um e-mail dizendo "certamente isso é inseguro" ou algo parecido, e ele respondeu com o seguinte:
a realidade é que existem milhões de sites, incluindo vários que eu administro e que têm 777 em várias pastas, é apenas um modo de vida.
Alguém poderia me dar uma idéia de uma solução que eu poderia dar a ele? Ou o que posso fazer para evitar o uso do 777? Realmente não gosto que a ideia de qualquer pasta no meu site / serviço seja publicamente gravável.
Eu gostaria muito de receber seus conselhos, pois sei muito pouco sobre servidores da web.