Home > Gnu/Linux, Internet > Apache: limitare l’accesso in un certo giorno, ad una certa ora per alcune pagine

Apache: limitare l’accesso in un certo giorno, ad una certa ora per alcune pagine

Apache httpd webserver

Apache httpd webserver

Recentemente mi è capitato di aver bisogno di limitare la disponibilità di alcune pagine web ad un determinato orario/giorno. Come risolvere il problema senza entrare nel merito della pagine, usando semplicemente apache?
Niente di più semplice, ci viene in aiuto mod_rewrite!

Possiamo definire la configurazione nel file globale di configurazione del nostro server http (apache), oppure usare .htaccess, io ho usato la seconda opzione, perché ci permette di lasciare intatta la configurazione per le altre pagine presenti nel server.

Ovviamente prima di procedere dobbiamo accertarci di avere il modulo mod_rewrite abilitato.

Supponiamo di avere la directory prova, alcui interno creeremo il file .htaccess con le seguenti direttive:

RewriteEngine On
RewriteCond %{TIME_HOUR}%{TIME_MIN} >1800
RewriteRule .* errore.html
RewriteCond %{TIME_HOUR}%{TIME_MIN} <0900
RewriteRule .* errore.html
RewriteCond %{TIME_WDAY} =0 [OR]
RewriteCond %{TIME_WDAY} =6
RewriteRule .* errore.html

Nell’esempio sopra riportato, le pagine saranno disponibili soltanto dal lunedì al venerdi, e dalle 09.00 alle 18.00.
Potete modificare i giorni e gli orari molto facilmente.

E’ necessario inoltre creare la pagina errore.html, nella quale scriverete il motivo per cui le pagine che si cercano non sono disponibili. Ad esempio potete scrivere il seguente sito è disponibile soltanto nei giorni lavorative o in orario d’ufficio 09.00/18.00.

La possibilità di usare una pagina html come ridorottamento se fuori giorno/orario permette una completa personalizzazione dei messaggi. La configurazione è facilmente modificabile e adattabile alle proprie esigenze.

Si tratta di una funzione poco documentata/poco utilizzata di apache, che credo possa far comodo, poiché permette di risolvere un problema con uno sforzo minimo di implementazione.

Alcuni esempio di utilizzo: uso di una chat (via web) a tempo, aperturta chiamate (ticketing) soltanto entro un orario prestabilito, prenotazioni entro un certo limite, visualizzazione di una certa promozione a tempo, e così via dicendo.

Alla prossima!

Condividi:
  • Print
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • blogmarks
  • email
  • Identi.ca
  • LinkedIn
  • MySpace
  • Netvibes
  • PDF
  • Reddit
  • RSS
  • Twitter
  • Wikio IT
  • Yahoo! Bookmarks

michele Gnu/Linux, Internet , , , , , , , , , , , , , , ,

  1. Nessun commento ancora...
  1. Nessun trackback ancora...
Creative Commons License
I contenuti di questo sito sono rilasciati con licenza Creative Commons.