Sono relativamente nuovo allo sviluppo web, quindi per favore sii paziente.
Sono principalmente uno sviluppatore di iPhone, ma recentemente ho creato un sito per qualcun altro utilizzando l'hosting condiviso. Potrei scrivere bene su file in PHP su quel sito, senza dover pensare alle autorizzazioni.
Sto implementando un servizio Web per una nuova app che sto realizzando, ma non sta andando per il meglio. La differenza più importante qui è che sto usando il server di qualcun altro e ho solo l'accesso FTP / DB.
Fondamentalmente, ho un sacco di file PHP che compongono il mio CMS, in questo modo:
mysite.com/admin/manage_news.php
mysite.com/admin/manage_events.php
Tali script modificano quindi il database o i file. Possono interagire bene con il DB, tuttavia, i miei script non possono scrivere sul filesystem. Potrebbero, ad esempio, tentare di scrivere nei seguenti file:
mysite.com/data/img/event_1.png
mysite.com/data/somefile.txt
Questo ha funzionato bene sulla mia installazione di MAMP (localmente), ma una volta distribuito sul server, PHP ha rivelato errori ogni volta che si è tentato di scrivere ... qualcosa del genere:
Impossibile aprire il file "../data/img/someimage.png" per la scrittura.
Quindi ho mandato un'e-mail al ragazzo che esegue il server e è tornato dicendo:
Funziona con autorizzazione pubblica? (777)
E lo ha fatto, ma sono stato molto cauto nell'utilizzare le autorizzazioni pubbliche, quindi l'ho disabilitato immediatamente. Gli ho mandato un'email dicendo "come posso far scrivere i miei script PHP usando le autorizzazioni standard dell'utente", e ha detto:
Lascialo come pubblico, andrà bene
Penso che sia un conflitto IP da qualche parte nella risoluzione del dominio, ma non sono preoccupato.
Gli ho quindi inviato un'email dicendo "sicuramente questo è insicuro" o qualcosa del genere, e ha risposto con il seguente:
la realtà è che ci sono milioni di siti Web, compresi alcuni che gestisco e che hanno 777 su varie cartelle, è solo un modo di vivere.
Qualcuno potrebbe darmi un'idea di una soluzione che potrei dargli? O cosa posso fare per evitare di usare 777? Non mi piace l'idea che qualsiasi cartella sul mio sito / servizio sia pubblicamente scrivibile.
Apprezzerei molto il tuo consiglio dato che so molto poco sui server web.