Con questo post voglio ricordare una "simpatica" esperienza con la consolle di Linux.
Durante il normale utilizzo di VIM per la modifica di uno script ho per errore premuto Ctrl-Z e il risutato è che sono tornato alla shell con il timore di aver perso tutto ciò che avevo appena digitato.
Panico :-0
E così che ho scoperto il comando "fg" che consente di recuperare la modalità interattiva.
fg [jobspec] : Resume jobspec in the foreground, and make it the current job. If jobspec is not present, the shell’s notion of the current job is used. The return value is that of the command placed into the foreground, or failure if run when job control is disabled or, when run with job control enabled, if jobspec does not specify a valid job or jobspec specifies a job that was started without job control.
giovedì 19 gennaio 2017
venerdì 2 dicembre 2016
Il comando history
Il comando "history" permette di visualizzare tutti i comandi dati da linea di comando; questa utility risulta interessante per velocizzare le operazioni e soccorrti in caso di vuoti di memoria ma in alcuni casi è utile pulire la lista dei comandi dati o anche una sola stringa digitata per errore (magari la password :-( ).
Per queste operazioni:
Pulizia di tutta la history:
history -c
Cancallazione del singolo comando:
history => per visualizzare i linenumber dei comandi digitati
history -d "linenumber" => per cancellare il comando
Per queste operazioni:
Pulizia di tutta la history:
history -c
Cancallazione del singolo comando:
history => per visualizzare i linenumber dei comandi digitati
history -d "linenumber" => per cancellare il comando
martedì 29 novembre 2016
Abilitare la cache del browser delle risorse statiche
Per abbattere i tempi di attesa e caricamento delle pagine del sito occorre configurare correttamente gli header HTTP delle varie risorse servite al browser di navigazione in modo da consentirne il caching lato client sul browser.
Configurando opportunamente il vostro web server potrete fare in modo di far scaricare dal browser immagini, video, script e css solo la prima volta che verranno richiesti e mantenendoli nella cache del browser per tutte le richieste successive.
Soluzione con file .htaccess (Linux)
Per poter abilitare la cache HTTP delle risorse statiche dovete semplicemente verificare che il vostro sito o blog utilizzi Apache con i moduli mod_headers e mod_expires attivi, dopodiché non dovete far altro che aggiungere al vostro file .htaccess (solitamente posizionato nella root del sito) una configurazione analoga alla seguente:
# Abilita l'Expires ed imposta il default to 0
ExpiresActive On
ExpiresDefault "access plus 0 seconds"
# Imposta la cache dei file multimediali ad 1 anno
ExpiresDefault "access plus 1 year"
Header append Cache-Control "public"
# Imposta la cache delle immagini a 1 settimana
ExpiresDefault "access plus 1 week"
Header append Cache-Control "public"
# Imposta la cache delle risorse aggiornate di frequente a 1 mese
ExpiresDefault "access plus 1 month"
Header append Cache-Control "proxy-revalidate"
# Forza la disabilitazione della cache per le risorse dinamiche
ExpiresActive Off
Header set Cache-Control "private, no-cache, no-store, proxy-revalidate, no-transform"
Header set Pragma "no-cache"
Riferimenti:
- http://httpd.apache.org/docs/current/mod/mod_expires.html
- https://gtmetrix.com/add-expires-headers.html
- https://gtmetrix.com/add-expires-headers.html
Soluzione con web.config (Windows)
E' possibile ottenere il risultato inserendo nella cartella contenente i file di cui forzare il caricamento in cache un file web.config con il seguente contenuto:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMaxAge="14.00:00:00" cacheControlMode="UseMaxAge"/> </staticContent>
</system.webServer>
</configuration>
Così forziamo il cache dei file contenuti nella cartella (images, css o js che siano) per un giorno.
Volendo forzare la cache per 30 giorni occorre impostare il parametro cacheControlMaxAge al valore "30.00:00:00"
Per forzare il caching di una sola risorsa occorre inserire il web.config nella cartella contenente la risorsa ed utilizzare l'elemento location nel seguente modo:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="path/to/the/file">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00" />
</staticContent>
</system.webServer>
</location>
</configuration>
Per disabilitare la cache invece degli elementi della cartella utilizzare il seguente web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="no-cache" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Riferimenti:
- http://blog.janjonas.net/2011-08-21/microsoft-iis-7-enable-client-side-browser-caching-static-content-web-config
Volendo forzare la cache per 30 giorni occorre impostare il parametro cacheControlMaxAge al valore "30.00:00:00"
Per forzare il caching di una sola risorsa occorre inserire il web.config nella cartella contenente la risorsa ed utilizzare l'elemento location nel seguente modo:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<location path="path/to/the/file">
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="10.00:00:00" />
</staticContent>
</system.webServer>
</location>
</configuration>
Per disabilitare la cache invece degli elementi della cartella utilizzare il seguente web.config:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="no-cache" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
Riferimenti:
- http://blog.janjonas.net/2011-08-21/microsoft-iis-7-enable-client-side-browser-caching-static-content-web-config
Etichette:
Apache,
cache static content,
htaccess,
IIS,
web.config
mercoledì 16 novembre 2011
Securimage PHP captcha
Securimage è un CAPTCHA in PHP open-source che, attraverso la generazione di immagini complesse e codice di controllo, protegge i form del proprio sito dagli spam bots.
Può facilmente essere inserito in un form già esistente, richiede un web server con PHP e le librerie grafiche GD e fornisce anche una versione audio del codice.
Può essere scaricato a questo indirizzo: http://www.phpcaptcha.org/download/
Installazione
Securimage non richiede particolari congigurazioni; una volta scaricato occorre visualizzare l'immagine del captcha all'intetno del form e far controllare il codice inserito dall'utente al codice di controllo.
Una volta scaricato il codice e caricati i file sul web server nella directory www.yoursite.com/securimage/ inseriamo l'immagine nel form con il codice:
Ora inseriamo il campo input per raccogliere l'input dell'utente:
Quindi inseriamo all'inizio del file che valida i dati del form l'attivazione delle variabili di sessione:
Può facilmente essere inserito in un form già esistente, richiede un web server con PHP e le librerie grafiche GD e fornisce anche una versione audio del codice.
Può essere scaricato a questo indirizzo: http://www.phpcaptcha.org/download/
Installazione
Securimage non richiede particolari congigurazioni; una volta scaricato occorre visualizzare l'immagine del captcha all'intetno del form e far controllare il codice inserito dall'utente al codice di controllo.
Una volta scaricato il codice e caricati i file sul web server nella directory www.yoursite.com/securimage/ inseriamo l'immagine nel form con il codice:
Ora inseriamo il campo input per raccogliere l'input dell'utente:
Quindi inseriamo all'inizio del file che valida i dati del form l'attivazione delle variabili di sessione:
Ora inseriamo la parte di codice che effettua il controllo dell'input:
// Creo un istanza della classe securimage
include_once $_SERVER['DOCUMENT_ROOT'].'/securimage/securimage.php';
$securimage = new Securimage();
// Effettuo il controllo che il codice inserito sia corretto
if ($securimage->check($_POST['captcha_code']) == false) {
// Se il codice è errato gestisco l'errore
echo "Il codice inserito non risulta corretto.
";
echo "Riprova.";
exit;
}
Per maggiori informazioni il sito di riferimento è http://www.phpcaptcha.org/
martedì 15 novembre 2011
URL dei Feed RSS di blogger
Blogger consente di leggere i post del blog con un feed reader o inserirli in un sito web collegandosi a specifici URL.
Se il blog ha indirizzo http://blog.itcline.it i post saranno disponibili in ordine cronologico all'inidirizzo http://blog.itcline.it/feeds/posts/default?alt=rss.
E' possibile selezionare solo n sottoinsieme di post utilizzando le etichette.
Come?
Attribuisco ai post che mi interessano un etichetta e poi posso richiamare i post con l'etichetta assegnata all'indirizzo: http://blog.itcline.it/feeds/posts/default/-/"etichetta".
Per maggiori informazioni è disponibile una esauriente guida di google all'indirizzo: http://www.google.com/support/blogger/bin/answer.py?hl=en&answer=97933
Se il blog ha indirizzo http://blog.itcline.it i post saranno disponibili in ordine cronologico all'inidirizzo http://blog.itcline.it/feeds/posts/default?alt=rss.
E' possibile selezionare solo n sottoinsieme di post utilizzando le etichette.
Come?
Attribuisco ai post che mi interessano un etichetta e poi posso richiamare i post con l'etichetta assegnata all'indirizzo: http://blog.itcline.it/feeds/posts/default/-/"etichetta".
Per maggiori informazioni è disponibile una esauriente guida di google all'indirizzo: http://www.google.com/support/blogger/bin/answer.py?hl=en&answer=97933
Iscriviti a:
Post (Atom)