Appuntiphp.com

31 gennaio 2010

Permessi su file e cartelle in PHP con chmod()

In PHP è necessario gestire i permessi sui file e sulle cartelle che andiamo a manipolare attraverso gli script. E’ una tecnica consigliabile sia quando si lavora in ambiente Windows che Linux, ma per quest’ultimo, essendo un sistema multitasking, è addirittura indispensabile, onde non correre il rischio di subire danni irreparabili al server ed all’interso sistema da parte di persone poco simpatiche.

L’assegnazione dei permessi viene gestita attraverso un elemento detto mode e PHP utilizza la funzione chmod() per la sua gestione.

Esistono tre tipi di permessi, indicati ciascuno da un numero:

1 - esecuzione
2 - scrittura
4 - lettura

Attraverso dei calcoli, che vedremo in seguito, possiamo utilizzare il valore 666 per assegnare i privilegi solo ad utenti autenticati ed il valore 777 per assegnarli a qualsiasi utente, come i navigatori di passaggio sul sito.

Vediamo come impostarli:

<?
    chmod("/nome_cartella/nome_file.ext", 0666);
?>

oppure:

<?
    chmod("/nome_cartella/nome_file.ext", 0777);
?>

Nel caso 666 il primo 6 indica l’utente principale (User), il secondo 6 indica il gruppo (Group) ed il terzo 6 indica gli altri utenti (Others). In questo modo non viene concessa l’esecuzione da parte di utenti la cui natura non viene identificata.

Nel caso 777 tutti e tre i 7 indicano l’appartenenza al gruppo di permessi: 1, 2 e 4, ovvero esecuzione, scrittura e lettura.

Si consiglia di valutare caso per caso la natura delle proprie applicazioni basate sulla gestione di file e/o cartelle e decidere se è bene impostare o meno le restrizioni descritte.

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

Appuntiphp.com è il blog italiano su PHP - Funziona con WordPress