Qualcuno può vedere il contenuto del mio file .htaccess

1

Sto memorizzando le password con hash in un file chiamato passwords.htaccess . Quando un utente compila un modulo di accesso, le password vengono controllate. Sto ottenendo il contenuto di passwords.htaccess con file_get_contents('passwords.htaccess'); . C'è un modo in cui qualcun altro può leggere il contenuto di passwords.htaccess diverso da me e dallo script di accesso?

So che quando un utente prova a digitare direttamente il nome del file incontra un errore 403 forbidden , ma c'è un modo per aggirare l'errore usando file_get_contents('http://www.mysite.com/passwords.htaccess') o qualche altro metodo?

In tal caso, esistono altri modi per proteggere le password degli utenti?

    
posta DMVerfurth 19.04.2018 - 19:45
fonte

2 risposte

1

(questo dovrebbe essere un commento ma è un po 'lungo)

Can someone view the contents of my .htaccess file

Non possiamo dirlo, dipende da come è configurato il tuo sito web. Inoltre, non specifichi cosa intendi per "chiunque": se questo è in esecuzione su un host web condiviso con altri utenti, potrebbero avere anche accesso. Su un sistema Unix l'account di root avrà accesso ....

they encounter a 403 forbidden

Poi c'è qualcosa che impedisce alle persone di accedere al file tramite il server web. Le possibili protezioni che potrebbero essere in posizione sono ...

  • posizione: il server web servirà solo il contenuto degli alberi di directory configurati in modo esplicito. Nel tuo esempio, il file sembra essere nella stessa posizione del codice. Tralasciando una discussione sul perché questa sia una pessima idea, allora se ciò è rilevante dipende dal fatto che stiate eseguendo mod_php o php_fpm, e se lo script che contiene lo snippet di codice sia un punto di ingresso per l'esecuzione di PHP o sia incluso da un altro script .

  • permessi del filesystem - con php-fpm è abbastanza probabile che PHP funzioni come un uid diverso da quello del server web

  • configurazione specifica nel tuo server web - la maggior parte fornisce un mezzo per escludere l'accesso in base all'URL o al nome del file (e spesso consente i glob). Le configurazioni di Apache di solito hanno la configurazione sotto la quale impedisce l'accesso a un file il cui nome inizia con '.ht', ma che non è applicabile a "passwords.htaccess".

     <Files ~ "^\.ht">
     Order allow,deny
     Deny from all
     Satisfy All
     </Files>
    

(e questo è prima che consideriamo eventuali vulnerabilità nel sito / piattaforma)

Quindi, a parte i tuoi risultati empirici, non abbiamo basi per essere in grado di rispondere alla tua domanda. Possiamo dire che il metodo di protezione che hai in atto non sembra essere in alcun modo portatile.

    
risposta data 20.04.2018 - 12:33
fonte
0

I file di password devono SEMPRE essere archiviati al di fuori della gerarchia di cartelle per il tuo sito web.

Il motivo è che, se il server o il sito non vengono configurati correttamente, i file all'interno della cartella della cartella del sito saranno visibili. Quindi niente di delicato dovrebbe MAI essere messo lì.

Dovresti mettere il file fuori dalla cartella principale del sito.

Dovrebbe essere ovvio che è necessario assicurarsi che le password siano protette con l'hash in modo tale che la password effettiva non possa essere recuperata se il file è copiato. Questo perché, sebbene il primo punto sopra assicuri che il file non sia esposto al servizio web, chiunque abbia accesso al sistema di archiviazione del server (sia amministratori che malintenzionati) sarà probabilmente in grado di leggere almeno il contenuto del file.

    
risposta data 20.04.2018 - 11:14
fonte

Leggi altre domande sui tag