Valutazione attuale: 5 / 5

Stella attivaStella attivaStella attivaStella attivaStella attiva
 

Ci capita molto spesso di voler proteggere alcuni contenuti presenti sui nostri siti web come ad esempio immagini, PDF o documenti vari.

Se vogliamo impedire che qualche furbetto inserendo il link direttamente nella barra degli indirizzi possa tranquillamente scaricare il files non ci resta altro che agire sui premessi cartella !!!

In questo articolo ci occupiamo della gestione su server hosting linux, quindi con Apache

Per attuare tutto ciò baterà creare o aggiungere le seguenti stringhe al file ".htaccess" presente nella cartella da proteggere:

<FilesMatch "\.(JPG|jpg|JPEG|jpeg|GIF|gif|PNG|png)$">
  SetEnvIfNoCase Referer "^http://([^/]*\.)?luigibasile.it/" local_referrer=1
  Order Allow,Deny
  Allow from env=local_referrer
</FilesMatch> 

Come possiamo vedere il criterio "FilesMatch" in associazione al "SetEnvIfNoCase Referer" ci consente di impedire l'accesso a tuti i filese con estensione specificata nel "FilesMatch" a meno che tali files siano richiamati da script o da pagine provenienti dal dominio "SetEnvIfNoCase Referer" questo sfruttando il refferal della richiesta.

E' possibile naturalmente personalizzare il "FilesMatch" inserendo qualsiasi tipo di estensione facendo attenzione, trattandosi di hosting linux, alle maiuscole e minuscole, è possibile anche specificare più referral tramite l'aggiunta di più righe "SetEnvIfNoCase Referer" dando la possibilità di accesso ai files richiesti da piu referral.

In conclusione, anche se si conosce l'esatto link di un files se esso viene richiamato dalla barra degli indirizzi o da qualsiasi altro sito che non sia specificato nei referral esso non sarà ne visualizzato ne scaricabile dando come responso un errore "403 Forbidden"