
Apache Logo
Ho raccolto qui 17 metodi htaccess che ho usato o provato, e penso che alcuni di essi siano essenziali trucchi e consigli per proteggere il vostro server web da attacchi dannosi, oppure utili per svolgere compiti semplici in modo efficiente come il reindirizzamento e ottimizzazione del web server.
Generici
Le impostazioni seguenti riguardano l’ottimizzazione del server web, o reindirizzamenti vari o pagine di errore personalizzate
1. Impostazione del fuso orario
A volte, quando si utilizza la data o la funzione mktime in PHP, che vi mostrerà un messaggio per quanto riguarda il fuso orario. Questo è uno dei modi per risolverlo. Imposta il fuso orario per il server. Un elenco di fusi orari supportati può essere trovato qui
SetEnv TZ Europe/Rome
2. Redirect 301 - reindirizzamenti permanenti SEO Friendly
Perché è SEO friendly? Oggi, alcuni motori di ricerca moderni hanno la capacità di rilevare i reindirizzamenti permanenti 301 e aggiornare i loro record esistenti, trasferendo il pagerank e quindi il posizionamento alla nuova pagina.
Redirect 301 http://www.studiomader.it/home http://www.studiomader.it/
3. Saltare la finestra di dialogo del download
Di solito quando si tenta di scaricare qualcosa da un server web si riceve una richiesta che chiede se si desidera salvare il file o aprirlo. Per evitare ciò, si può utilizzare il seguente codice nel file .htaccess
AddType application/octet-stream .pdf AddType application/octet-stream .zip AddType application/octet-stream .mov
4. Evitare www
Una delle linee guida SEO è assicurarsi che ci sia un solo URL a cui si possono trovare le pagine del sito web. Pertanto, ci sarà bisogno di questo per reindirizzare tutto il traffico www a non-WWW, o viceversa.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.studiomader.it [NC]
RewriteRule ^(.*)$ http://studiomader.it/$1 [L,R=301]
5. Pagine di errore personalizzate
Creare delle pagine di errore personalizzate per ciascuno dei codici di errore.
ErrorDocument 401 /error/401.php ErrorDocument 403 /error/403.php ErrorDocument 404 /error/404.php ErrorDocument 500 /error/500.php
6. Comprimere i file
Ottimizzate il tempo di caricamento del vostro sito web comprimendo i file in modo da avere piccole dimensioni e quindi meno dati che transitano in rete.
# compress text, html, javascript, css, xml: AddOutputFilterByType DEFLATE text/plain AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE text/xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE application/xml AddOutputFilterByType DEFLATE application/xhtml+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE application/x-javascript
7. Cache dei file
File caching è un altro approccio famoso in ottimizzando i tempi di caricamento sito
<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$"> Header set Cache-Control "max-age=2592000" </FilesMatch>
8. Disabilitare la cache di determinati tipo di file
Ok, d’altra parte, è possibile disabilitare la cache di altri determinati tipi di file.
# explicitly disable caching for scripts and other dynamic files <FilesMatch ".(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch>
Sicurezza
Il codice htaccess seguente sarà in grado di migliorare il livello di sicurezza del webserver. La protezione dai collegamenti diretti è piuttosto utile per evitare che altre persone utilizzino immagini memorizzate nel server.
9. Protezione dall’Hotlinking con .htaccess
Odi quando la gente ruba banda dal tuo sito web utilizzando le immagini che sono ospitate sul server web? Utilizza questo e sarai in grado di impedire che ciò accada.
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?studiomader.it/.*$ [NC]
RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]
10. Prevenire hack
Se vuoi aumentare il livello di sicurezza del tuo sito web, è possibile usare queste poche righe di codice per evitare alcune comuni tecniche di hacking, individuando modelli di URL maligni.
RewriteEngine On
# proc/self/environ? no way!
RewriteCond %{QUERY_STRING} proc/self/environ [OR]
# Block out any script trying to set a mosConfig value through the URL
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR]
# Block out any script trying to base64_encode crap to send via URL
RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR]
# Block out any script that includes a <script> tag in URL
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL
RewriteCond %{QUERY_STRING} GLOBALS(=|[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL
RewriteCond %{QUERY_STRING} _REQUEST(=|[|\%[0-9A-Z]{0,2})
# Send all blocked request to homepage with 403 Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
11. Bloccare l’accesso al file .htaccess
Il seguente codice impedire all’utente di accedere al file .htaccess. Inoltre, è possibile bloccare tipi di file multipli.
# secure htaccess file <Files .htaccess> Order Allow,Deny Deny from all </Files> # prevent viewing of a specific file <Files secretfile.jpg> Order Allow,Deny Deny from all </Files> # multiple file types <FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh)$"> Order Allow,Deny Deny from all </FilesMatch>
12. Rinominare i file .htaccess
È anche possibile rinominare il nome del file da .htaccess a qualcos’altro per impedirne l’accesso.
AccessFileName htacc.ess
13. Disabilita directory browsing
Evitare il server di visualizzare l’indice delle directory, o il contrario.
# disable directory browsing Options All -Indexes # enable directory browsing Options All +Indexes
14. Cambia pagina di default predefinita
È possibile modificare la pagina di default index.html, index.php o index.htm a qualcos’altro.
DirectoryIndex business.html
15. Blocco di visitatori indesiderati sulla base del dominio di provenienza
Nel caso in cui si ricevano attacchi da qualche sito specifico, può essere utile bloccare gli accessi diretti da quel dominio. Per impedire l’accesso, viene utilizzata una regola impostata sulla base dell’HTTP referrer
# block visitors referred from indicated domains
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} scumbag.com [NC,OR]
RewriteCond %{HTTP_REFERER} wormhole.com [NC,OR]
RewriteRule .* - [F]
</ifModule>
16. Bloccare richieste sulla base dell’header User-Agent
Questo metodo potrebbe salvare la vostra quota di larghezza di banda impedendo ad alcuni bot o spider di eseguire la scansione del vostro sito web.
# block visitors referred from indicated domains <IfModule mod_rewrite.c> SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT Deny from env=HTTP_SAFE_BADBOT </ifModule>
17. Directory più sicure disabilitando l’esecuzione di script
Una grossa fonte di vulnerabilità può essere l’esecuzione di script lato server. Buona norma quindi disabilitarla ad esempio sulle cartelle upload, dove gli utenti possono caricare files.
# secure directory by disabling script execution AddHandler cgi-script .php .pl .py .jsp .asp .htm .shtml .sh .cgi Options -ExecCGI
Per il momento non ci sono post correlati.
Tags: tools