Get_File_Contents PHP: Autorizzazione negata

May 20

Get_File_Contents PHP: Autorizzazione negata


Un server è solo un nome per un computer il cui scopo è di fornire dati ad altre macchine. Il server per un sito web con contenuti PHP, per esempio, è un computer che invia i dati del sito per i computer che visitano quel sito. sistemi operativi server sono proprio come qualsiasi altro sistema, compresi i permessi dei file utente. Questo può portare a "negato il permesso" errori quando uno script PHP tenta di accedere a un file con "get_file_contents ()" o qualsiasi altro metodo che legge i dati di file.

Gli utenti del sistema

Tutti i sistemi operativi moderni hanno un'architettura multiutente. Ciò protegge un utente di avere un altro accesso utente suoi file e rende anche il sistema operativo più sicuro. Limitando alcuni compiti ad un account amministratore, i virus che un utente casuale può scaricare hanno un tempo più difficile ottenere il controllo del sistema. Le macchine che i siti web ospitanti con i sistemi operativi utilizzano il contenuto di PHP che sono ottimizzati per agire come server, pur limitando gli utenti di accedere ai file per i quali non hanno il permesso di aprire.

L'interprete PHP

PHP è un linguaggio interpretato, il che significa che un server compila il codice sorgente in tempo reale come un utente accede a un file con il codice sorgente PHP. Questa compilazione in tempo reale è fatto dall'interprete PHP. L'interprete si comporta come qualsiasi altro pezzo di software sul server, eseguendo in un particolare utente di sistema con le autorizzazioni di sistema che dell'utente. Questo fatto può portare a messaggi "Autorizzazione negata" quando uno script PHP cerca di accedere ai contenuti di un particolare file.

Software Proxy

I visitatori di un sito web non interagiscono direttamente con i file di codice sorgente sul suo server. Piuttosto, le loro richieste vengono elaborate da un software server proxy. Questo software prende le richieste di dati, come ad esempio una particolare pagina Web, degli utenti. E poi recupera i dati hanno richiesto dal server, poi lo passa indietro per l'utente. Quando gli amministratori di server configurare il software proxy, viene eseguito come parte di account di un particolare utente. software proxy per i siti web PHP impegnerà l'interprete PHP di eseguire codice PHP, in modo da l'interprete PHP sarà lavorare con lo stesso account utente che esegue il software proxy.

Permessi

Se uno script PHP tenta di accedere a un file per il quale l'account utente che esegue il software proxy non possiede o non ha il permesso di aprire, quindi PHP restituirà un "Autorizzazione negata" messaggio di errore. Gli sviluppatori Web possono correggere questo errore modificando la proprietà del file per l'account che esegue il software proxy. Si potrebbe anche creare un nuovo gruppo di utenti che include sia l'account che possiede il file e l'account che esegue il software proxy, quindi impostare il file per permettere a nessuno in quel gruppo aprirlo. Entrambi i metodi risolverà il problema.