2013-03-12 5 views
6

Ci scusiamo se la mia domanda non è chiara, ma non sono abbastanza soddisfatto del gergo. Per "directory delle risorse" intendo il mio css, script php, immagini, jectu ecc.Utilizzo di .htaccess, impedisce agli utenti di accedere alle directory delle risorse e tuttavia consente le risorse di accesso al codice sorgente

Ho usato un file .htaccess nella mia directory immagini che conteneva

deny from all 

per fare questo. Anche se questo ha impedito alle persone di digitare "www.example.com/images" nel loro browser e accedere alla mia directory di immagini, le immagini smettono di apparire sul mio sito web.

Suppongo che ciò sia dovuto al fatto che il file .htaccess sta addirittura negando il mio codice sorgente dall'accesso alle immagini. Come posso lasciare che il mio codice sorgente acceda alle directory? Ho anche un lavoro cron eseguendo uno script php ogni notte. Anche il processo cron deve essere autorizzato ad accedere alla directory degli script.

Inoltre, utilizza i file .htaccess anche il modo migliore per proteggere un sito?

+1

Se si fa riferimento alle immagini nel proprio codice HTML con '/ images/something.png', l'utente deve avere accesso ad esso per visualizzarlo. – cheesemacfly

risposta

13

Per impedire a qualcuno di visualizzare la directory delle immagini, è necessario disabilitare Directory Listing. http://viralpatel.net/blogs/htaccess-directory-listing-enable-disable-allow-deny-prevent-htaccess-directory-listing/

Non è possibile utilizzare deny from all, perché nulla può essere caricato da quella directory da un browser Web, in modo che le immagini cui si carica con il tuo sito web non caricare neanche.

Options -Indexes impedirà alle persone di elencare i file nella directory delle immagini. Si prega di vedere http://viralpatel.net/blogs/htaccess-directory-listing-enable-disable-allow-deny-prevent-htaccess-directory-listing/

Per garantire la visualizzazione dei dati da parte di utenti che non dovrebbero utilizzare un'autenticazione. È possibile impostare un campo di login con htaccess o uno script con, ad esempio, PHP o python.

script di accesso con .htaccess: Script: http://www.htaccesstools.com/htpasswd-generator/ file di password: http://www.htaccesstools.com/htaccess-authentication/

+0

Grazie, Opzioni -Indexes è buono per impedire alle persone di entrare nelle directory. Tuttavia, possono ancora accedere ai file se conoscono il percorso, che voglio impedire loro di fare. Esiste comunque un modo per ottenere ciò senza utilizzare lo script di accesso? Voglio dire, è solo il codice sorgente che accede ai file, non un gruppo di utenti. Come funzionerebbe con un cron job? – Starkers

+0

Non c'è modo di impedire l'accesso diretto ai file, perché è necessario l'accesso diretto per mostrare anche l'immagine. Vuoi evitare l'hotlinking? Perché è possibile ... Vedi http://altlab.com/htaccess_tutorial.html e per un generatore: http: // www.htaccesstools.com/hotlink-protection/ –

0

È possibile impedire l'accesso qualsiasi directory che si desidera:

Aggiungi questo frammento nel file httpd.conf (si può trovare il file httpd.conf qui C: \ wamp \ bin \ apache \ apache2.4.9 \ bin)

<Directory "c:/wamp/www/directory_A/"> 
    Options -Indexes 
</Directory> 

In questo caso è possibile ac cessa la directory www ma non può essere all'interno di directory_A. o

<Directory "c:/wamp/www/directory_A/uploads/"> 
    Options -Indexes 
</Directory> 

In questo caso è possibile accedere alla directory 'directory_A /', ma non può dentro 'uploads /'.

Problemi correlati