- Home
- Categorie
- Coding e Sistemistica
- PHP
- Problema con upload file php con script di GiorgioTave
-
bhe non è detto che se non ti fanno impostare i permessi a 777 non puoi caricare ugualmente i tuoi file!!! dipende dalla configurazione del server.
con permessi 777 puoi avere problemi di sicurezza!!!
ad esempio nel nostro servizio di hosting gratuito
ti facciamo settare i permessi a 777 ma non sono assolutamente necessari!!!basterebbe un 700 o 644 l'importante che il tuo utente abbia permessi di scrittura.
-
E come si fa a dare i permessi di scrittura ad un solo utente?
Prendiamo poi l'esempio di una news.. l'utente inserirsce una news.. la pagina che contiene le news deve essere scritta ed aggiornata.. Se non si danno permessi 777 a tutta la directory che contiene tale file che va ad aggiurnarsi automaticamente in seguito alla compilazione del form lo script mostra che il messaggio è stato correttamente inserito ma nell'archivio news e nella pagina che contiene tutte le news non compare nada! Il file non viene scritto a meno che non si imposti il 777.. ho provato per curiosità con altri metodi 766 ecc ma non funzionava..
Perchè proprio 700 o 644? Cosa cambia?
E già che ci siamo vorrei sapere se qualcuno sa spiegarlo in breve e con certezza, quali rischi si corrono a lasciare una directory a 777?
-
ma io sto provando lo script in locale e nn funziona
-
dipende dalla configurazione del tuo server!!!
perchè sicuramente apache gira come utente www-data e che quindi quando crei un file via php o lo carichi via upload lui ti imposta owner www-data
ma la cartella dove stai creando o spostando il file ha i permessi del tuo utente e quindi apache non può scriverci tranne se imposti permessi adeguati per l'utente public oppure se il tuo utente fa parte dello stesso gruppo di apache basterà mettere i permessi di scrittura solo per il gruppo e non per public!
-
Come si fa a rendere un utente membro dello stesso gruppo di apache? io non lavor in remoto, carico direttamente i file sul server per testarli....
Boh...
Non ci sto capendo più di tanto.. So solo che se tocco i permessi chmod non funziona piu niente..
Mah..
-
IL 700 FUNZIONA!
LI AVEVO PROVATI TUTTI MA PENSO CHE QUESTO MI ERA SFUGGITO.. ORA LO SCRIPT FUNZIONA ANCHE CONIL CHMOD700
CHE COSA SAREBBE CAMBIATO? Posso stare tranquillo riguardo al discorso sicurezza con tale impostazione del chmod?
-
RETTIFICO: Il chmod che mi funziona attualmente è il 770.. non 777
-
e neanche 700.. funziona solo con 777 ma non è sicuro (come mi dite) e ora ho scoperto che funzia anche con il 770
-
Ciao
dovrebbe bastarti anche il 666
ovvero possibilità di lettura/scrittura da parte di tutti e esecuzione bloccata.Questo è il chmod classico dei database
nel tuo caso devi solo leggere e scrivere
-
Per una piccola spiegazione dei chmod ti riporto questa tabellina:
Permessi Propietario
lettura 4=si 0=no
scrittura 2=si 0=no
esecuzione 1=si 0=noIl totale fa la prima cifra
Permessi gruppo
lettura 4=si 0=no
scrittura 2=si 0=no
esecuzione 1=si 0=noIl totale fa la seconda cifra
Permessi Utente
lettura 4=si 0=no
scrittura 2=si 0=no
esecuzione 1=si 0=noIl totale fa la terza cifra
Spero che sia chiaro
Ciao
-
si ma in ogni caso potrebbero ugualmente verificarsi problemi di sicurezza!!!
molti provider neanche considerano questo fattore!!!
se gli utenti hanno lo stesso gruppo e non è attivo ne safemode e ne open base dir potrei tranquillamente leggere i file degli altri utenti del server!! con tutte le conseguenze possibili!!
ma solitamente il pensiero che hanno è :" Basta che funziona chi se ne frega della sicurezza "
-
A parte i problemi di sicurezza che tanto non siamo mai sicuri e dobbiamo avere il bK del siti e del db sempre a portata di mano, ci può essere un'altro motivo per cui non vedi l'upload.
In certi ftp devi sganciarti dal server e poi riagganciarti e lo vedi altrimenti sembra che non ti abbia caricato niente.
Parlo per esperienze personali
Ciao
-
Per completare io ho fatto un picccolo script che mi carica pure la descrizione della foto su un file txt che per non sbagliarmi la faccio nominare come la grandezza in byte della foto caricata ovvero fa questa piccola cosa:
se carico pippo-va-a-scuola.jpg di 35725 bite
il file jpg caricato prende questo nome:
35725-pippo-va-a-scuola.jpg
e nella stessa cartella il file txt prende:
35725.txt
Tutto questo perchè se mi caricano la foto e la descrizione posso abbinarle facilmente senza sbagliarmi.