Rischi di esporre il file .htaccess

2

Ho un server Apache su Windows 7 usando XAMPP che esegue php in modalità cgi. Uno degli utenti può modificare il file .htaccess per limitare l'accesso alla pagina Web per alcuni indirizzi IP e configurare altre impostazioni. Non può visualizzare la fonte dei file php memorizzati nel server e non voglio che sia in grado di farlo.

Poiché php è in esecuzione in modalità cgi, aggiungendo php_flag engine off al file .htaccess non viene mostrato il codice sorgente dei file php, ma viene visualizzato solo un errore interno del server. Tuttavia, sono preoccupato che potrebbe esserci un altro modo per accedere all'origine dei miei file.

  • C'è un modo per visualizzare la fonte dei file php che modificano il file .htaccess se php è in esecuzione in modalità cgi e php_flag non funziona?
  • Se esiste un modo per visualizzare l'origine, posso correggerlo o l'unica opzione è usare una soluzione alternativa e non esporre il file .htaccess?
posta Hawkings 31.01.2017 - 14:43
fonte

2 risposte

2

Sì, hai il rischio di esporre il file .htaccess ad altri utenti che non sono nel tuo trust circle anche se stai usando php in modalità cgi ma non sono sicuro di quanto siano capaci altri utenti là fuori. Ad esempio, regola come questa espone il tuo codice php nel testo.

<FilesMatch "\.php$">
    SetHandler text/plain
</FilesMatch>

Quindi quello che suggerisco è non dare il pieno permesso a .htaccess di dare solo il permesso al modulo che è richiesto o necessario.

Ad esempio, non consentire moduli come mod_mimes , indexes ecc. ad altro utente.

Non usare

AllowOverride All

Invece di menzionare il modulo che vuoi permettere

AllowOverride AuthConfig mod_rewrite

Spero che ti aiuti.

    
risposta data 01.02.2017 - 10:55
fonte
0

È possibile limitare l'altro utente che accede a .htaccess modificando le politiche di sicurezza del file (clic destro, Proprietà, scheda Sicurezza). Devi rimuovere il flag scrivibile dal web server dal file, così gli utenti non saranno in grado di modificarlo neanche usando PHP.

Modifica: l'altra opzione userebbe nginx, che non memorizza i file di configurazione in webroot, quindi gli utenti con accesso specifico a webroot non possono fare nulla di strano.

    
risposta data 31.01.2017 - 15:26
fonte

Leggi altre domande sui tag