Cerca nel blog

2006/05/22

Da Windows a Mac: come bloccare alla fonte i siti indesiderati

Questo articolo vi arriva grazie alle gentili donazioni di "triskell" e "robertominer****".
L'articolo è stato corretto e aggiornato dopo la pubblicazione iniziale.

Come forse sapete, sto scrivendo un non-libro intitolato Da Windows a Mac. È un "non-libro" perché non lo sto scrivendo come libro, ma come raccolta di articoli. Quello che state leggendo è uno di questi articoli; gli altri li trovate qui.

Avete sicuramente qualche sito che vi interessa consultare ma che è appestato da orrendi banner pubblicitari, o addirittura da intere finestre pubblicitarie che coprono quello che state cercando di leggere, persino se usate le funzioni blocca-popup integrate di Firefox. Uno dei miei preferiti è Worth1000.com, sito dedicato agli artisti del fotoritocco umoristico o satirico, che ha l'atroce difetto di far comparire (almeno qui in Svizzera) l'infernale Jamba. Anche Tvtorrents.com non scherza, e la Rai sta diventando insopportabile.

Ho già descritto in dettaglio come modificare in Windows il file hosts e ho scritto un sunto dell'equivalente operazione Mac in un microarticolo un annetto fa: ecco una versione meno ermetica.

La prima cosa da fare, se avete configurato correttamente il vostro Mac in modo da lavorare come utenti comuni senza privilegi di amministratore, è passare all'account amministratore: in genere basta sceglierlo dal menu a tendina nell'angolo destro della barra menu e digitarne la password.

Fatto questo, aprite una finestra di Terminale e date il comando sudo nano /etc/hosts. Questo comando ordina al programma nano di editare il file /etc/hosts, e lo fa con privilegi temporanei di amministratore grazie al comando sudo.

A questo punto vi viene chiesta la password di amministratore: datela. Il file hosts compare dentro la finestra di Terminale. Dovrebbe avere un aspetto di questo genere:

editing hosts 1.png

Usando i tasti freccia (il mouse non funziona dentro la finestra di terminale) e i comandi indicati nella zona inferiore della finestra di Terminale, modificate il file hosts in modo che a ogni sito che volete bloccare corrisponda 127.0.0.1, come mostrato qui sotto. Lasciate intatte le tre righe già presenti nel file, servono al Mac. Per allineare le colonne potete usare gli spazi o le tabulazioni.

editing hosts 2.png

Chiudete il file hosts salvandolo: digitate Ctrl-X e poi Y e Invio.

Sempre nella finestra di Terminale, digitate sudo killall -HUP lookupd e chiudete la finestra di Terminale (in OS X Leopard, Snow Leopard e Lion questo comando non funziona e si digita invece dscacheutil -flushcache, secondo Appzdev.com).

Non occorre riavviare Mac OS X né riavviare il browser: provate ora a visitare i siti che prima vi facevano soffrire. Dovreste notare una notevole differenza. I banner saranno scomparsi e la pagina che vi interessa verrà caricata molto più rapidamente.

Il trucco funziona in questo modo: quando il browser carica una pagina Web, ne esegue tutti i link (compresi quelli pubblicitari). Per eseguirli, la prima cosa che fa è leggere il file hosts per vedere se per caso il nome del sito indicato nel link è presente in questo file; se non c'è, lo va a cercare su Internet alla maniera solita. Ma se c'è, ed accanto ad esso c'è l'indirizzo IP numerico 127.0.0.1, che è quello interno del vostro computer, il Mac crede che il sito in questione si trovi nel vostro computer e non lo va a cercare su Internet. Ovviamente il sito non esiste nel vostro computer, per cui non viene visualizzato nulla di quel sito. Se il sito è pubblicitario, non vengono visualizzate le sue pubblicità.

Per scoprire i nomi dei siti da bloccare, date un'occhiata alla barra di stato o alla barra del titolo delle finestre del vostro browser: dovrebbe essere indicato lì. Inoltre, se sapete leggere il codice HTML delle pagine Web, potete visualizzarlo e cercarvi i link che portano a siti esterni.

21 commenti:

gallows ha detto...

Tutti i passaggi sono identici anche per eventuale "da Windows a Linux" :P

Ps. Tu cmq hai usato `nano', che è la versione _libera_ di `pico'.

Paolo Attivissimo ha detto...

"Da Windows a Linux" lo scrissi già sei anni fa :-)

Ho visto in effetti "nano" nella finestra, ma tanta era l'abitudine sotto Linux di digitare "pico"... deve esserci un symlink pico-->nano.

Grazie della segnalazione, correggo l'articolo.

Fab ha detto...

bel articolo. funziona anche con win editando il file c:\windows\system32\drivers\etc\hosts
(a memoria)

se poi vogliamo proprio fare i pignoli, dici
"Pico vi deve chiedere la password di amministratore:"

Tralasciando il fatto che si parlava di Nano :) e cmq è sudo che chiede la password.. ma sono dettagli.. gh!

fab ha detto...

..e poi mi sorge un dubbio. (non ho mac, quindi chiedo, potrebbe essere una domanda stupida...) Se sono passato all'account amministratore e apro un terminale, il terminale non gira già con i permessi di amministratore? perchè usare ancora sudo?

Paolo Attivissimo ha detto...

Fab, grazie del debug: ho sistemato la questione "nano". Anche la password effettivamente è chiesta da sudo, non da nano: sistemato anche questo.

Si', ci vuole sudo anche se sei utente amministratore, perché nel Mac l'utente amministratore non è un vero root. Ho verificato adesso per scrupolo: senza sudo, il file hosts è solo leggibile ma non scrivibile.

Anonimo ha detto...

Ehm, veramente la cosa è un poco più complessa. Usare sudo non significa essere l'amministratore ma bensì questa opzione Unix non fa' altro che chiamare l'utente root per una opzione. Ci sono pagine e pagine su questo problema...

Giamm ha detto...

questo metodo secondo me è migliore...

http://giammin.blogspot.com/2005/11/peerguardian2-usare-il-p2p-ed-essere.html

Michele ha detto...

avendo usato un po' di linux differenti, la differenza tra un sudo e un su l'ho capita a "pelle": se in un terminale si lancia su , tutto ciò che verrà scritto dopo sarà lanciato direttamente come superUtente; sudo, invece, lancia solo un programma in modalità root (in questo caso sudo nano ./blablabla). Al successivo comando già si è di nuovo utenti normali. Sapete, quando si passa da una Mandrake a una Ubuntu alcune cose possono sembrare illogiche... invece sono solo differenti!
Mi fa piacere sapere che il mac parla così bene Unix. Da quando è passata a Intel sto seriamente valutando di comprarne uno, ma... quanto costano! e avete visto che all'aumentare della sua diffusione è cresciuto anche il numero di aggiornamenti del sistema? E' proprio vero che i bug dipendono linearmente dal numero di utenti!

gallows ha detto...

E' proprio vero che i bug dipendono linearmente dal numero di utenti!

?!?! Semmai quelli scovati, ma questo è un altro discorso..
Meglio un software con 100 falle tappate che uno con una grave aperta :)

Per quanto riguarda su(1) [switch user], lancia un shell di un utente (root se non specificato), quindi tutto ciò che avviene dopo (fino alla chiusura della shell interattiva) viene eseguito con il nuovo utente.
Da notare dunque che un eventuale:
% sudo /bin/bash
Risulterebbe identico a:
% su

Un'altra precisazione:

Paolo scrive:
> A questo punto vi viene chiesta la
> password di amministratore [...]

Su un sistema un*x "puro", sudo(8) non chiede la password di root, ma dell'utente che invoca il comando: una sorta di "pensaci due volte" ;)

Anonimo ha detto...

Comunque suggerisco l'ottima estensione per firefox "AdBlock"

Emanuele
http://torrenti.altervista.org

Andrea 'Shand' Cozzolino ha detto...

Fab said...
> bel articolo. funziona anche
> con win editando il file
> c:\windows\system32\drivers\etc\hosts

Non proprio ... non e' garantito ... sopratutto se si tratta di sito microsoft.

Ti consiglio una rilettura di:

Zio Bill avvelena il DNS di XP
http://attivissimo.blogspot.com/2006/04/zio-bill-avvelena-il-dns-di-xp.html

LLP, Andrea

Gelma ha detto...

Uso da anni, con soddisfazione, privoxy (http://www.privoxy.org/), che fa un lavoro piu' che egregio nell'eliminazione di banner et similia.
ciao,
gelma

DaZKooL ha detto...

Quando leggo nano penso sempre a Berlusconi...non potevano cambiare parola?

Matteo ha detto...

Ciao Paolo,

una segnalazione veloce per bloccare i siti indesiderati con Firefox:

io uso l'estensione "Adblock Plus" assieme alla "Adblock Filterset.G Updater", che tiene
costantemente aggiornata la lista degli indirizzi pubblicitari.
Funziona egregiamente.
Sul sito Rai, ad esempio, blocca senza problemi tutto quello che viene dal dominio banneradmin.rai.it senza che io abbia dovuto fare nulla.

A dire il vero anche sul tuo blog mi blocca uno script: http://pagead2.googlesyndication.com/pagead/show_ads.js

Se poi qualcosa non viene intercettata automaticamente puoi personalizzarla tu come vuoi.

Anonimo ha detto...

Anche io uso Adblock, una semplice estensione per Mozzilla Firefox, e devo dire che mi trovo veramente bene.
Ne vorrei suggerire un'altra che si chiama NoScript. Queste invece che bloccare le immagini blocca tutti gli script potenzialmente pericolosi di un sito. Se poi si ritiene che quello script/sito debba essere inserito in una white list allora saranno abilitati gli script per quel sito.
Lo trovate in cima alla classifica delle estensioni piu' scaricate alla pagina:
https://addons.mozilla.org/extensions.php?app=firefox

Sergio ha detto...

E' necessario diventare superutente per usare sudo?? pensavo che sudo servisse proprio per eseguire un comando come amministratore senza dover eseguire un login....

Anonimo ha detto...

io ho persino disattivato flash e allora vedo dei RETTANGOLI TRASPARENTI svolazzare nel (presumo) layer Z più vicino a me...

io li odiooooooo


ci sono anche i banner flash CHE FANNO CASINO!!!!

così si perdono tutti gli utenti che usano internet al lavoro! :-P

yayo ha detto...

DaZKooL: Quando leggo nano penso sempre a Berlusconi...

..e sudo
aggiungo io!

scusate, è stato più forte di me!
: P

y.

gky ha detto...

Scusa, ma non mi sembra che modificare /etc/hosts sia la soluzione migliore: mentre va benissimo per evitare l'accesso in toto a un sito, eliminando solo le immagini il browser rischia di rimanere "appeso" fino al timeout aspettando una risposta dal Web server rediretto sul localhost (a meno di non avviare httpd sulla propria macchina).
Molto meglio usare l'estensione adBlock di Firefox, che filtra anche singoli url con possibilità di metacaratteri.

Anonimo ha detto...

Con firefox e l'estensione "noscript" si può bloccare praticamente tutto quello che da fastidio.

matt ha detto...

oppure, per non essere stressati dalla pubblicità, usare

http://lab.arc90.com/experiments/readability/

provalo, é incredibile