2011-10-24 13 views

risposta

6

Finché si assicurarsi che il file ini è al di fuori della DOCUMENT_ROOT e non in tutto il mondo leggibile, non è meno sicuro di qualsiasi altro metodo.

+0

+1 per suggerire di mantenere il file al di fuori della docroot. Questo riduce la superficie di attacco attraverso altre vulnerabilità comuni. – Cheekysoft

3

Non devi mettere queste informazioni nei parametri ogni volta. È possibile definire la connessione in un file separato (dbconnection.php) e includerlo nei file che richiedono una connessione al database.

3

Non è sicuro, perché è possibile leggere i file ini con metodo PHP: parse_ini_file

+1

Penso che questo sia un argomento non valido. Se vuoi essere in grado di leggere l'utente/passare tramite PHP per fare una connessione, allora * qualsiasi * metodo che utilizzi per memorizzare l'utente/pass dovrà essere leggibile da PHP ... –

+0

"Ha chiesto se quello le informazioni possono essere recuperate con qualsiasi metodo "Ma questo è * sempre * vero. Ad esempio, con la stessa logica, il salvataggio dell'utente/pass in una stringa all'interno di una proprietà privata della classe db non è sicuro, perché posso vederlo con print_r ($ db). –

+0

"non ti lasceranno mai a pasticciare con il loro file ini" - Sembra che tu stia assumendo che voglia mettere l'utente/pass nel php.ini globale. Non è necessario. Puoi creare i tuoi file ini locali per memorizzare le impostazioni locali, e non è meno sicuro che inserire le impostazioni nel sorgente PHP. –

0

Sarebbe molto più sicuro, se si fosse messo in un file senza un'estensione, e quindi fissare il file con .htaccess. Inoltre, il file .ini può essere letto da qualsiasi browser, quindi sarebbe super sicuro.

1

Non credo ci sia alcun rischio per la sicurezza nel salvare alcuna configurazione nel file php.ini poiché la posizione del file ini è all'esterno della directory "pubblica". Nessun utente può accedere a questo file.

È possibile ottenere parametri ini utilizzando la funzione "ini_get" php. Potete trovare ulteriori informazioni su questo parametro da qui: http://php.net/manual/en/function.ini-get.php

0

Come indicato sopra, il file .ini potrebbe non essere più o meno sicuro rispetto all'archiviazione in un file .php. Tuttavia, una cosa da considerare è che quando si utilizza il file .ini, questa impostazione è effettivamente globale per qualsiasi codice PHP e tutti i siti Web. L'utilizzo del file .ini può influire su altri codici per i quali si desidera utilizzare un utente diverso.

Nel complesso, è probabilmente la migliore pratica di sicurezza NON utilizzare un file .ini per memorizzare la password, semplicemente perché ora è aperta a chiunque memorizzi file PHP sul server. Lo rende anche un po 'complicato se improvvisamente hai bisogno di dare più siti o applicazioni per un sito di accessi diversi (per database separati). Non è consigliabile utilizzare un accesso per più database, ad eccezione dell'utente root che deve essere utilizzato solo a fini amministrativi.

Problemi correlati