Poszukaj w Google...

środa, 19 sierpnia 2009

Usuwanie reklamy internetowej

Na dzisiejszych zajęciach zajmiemy się reklamą internetową;-) Podzielić ją można na dwie grupy - reklamy emailowe (czyli klasyczny spam) i przeglądarkowe, czyli każde badziewie jakie wyświetla się na stronie. W przypadku spamu sprawa jest dość prosta - potrzebujemy konta z dobrym filtrem antyspamowym. Tutaj doskonały jest google mail czyli gmail.com - zakładamy tamże konto i używamy. Jeżeli ktoś ma jednak swój adres z którego korzysta od lat - można go podpiąć do konta gmail i nadal używać własnego adresu - całość do zrobienia jest w kilkanaście minut klikając w konfiguracji gmaila. Gazeta Wyborcza swego czasu przeszła na poczte gmail i oferuje tą samą funkcjonalność, ale niestety namiętnie sama wysyła reklamy. Oczywiście odpowiednia reguła po stronie serwera pozwala od razu je kasować bez czytania;-)

Inna metodą walki ze spamem jest użycie odpowiedniego klienta pocztowego. Osobiście polecam  The Bat - wyposażony w odpowiednią wtyczkę antyspamową załatwia problem spamów. Jednak nie rozwiązuje problemu ich pobierania przez nasz komputer, co szczególnie ważne jeśli mamy niezbyt szybkie łącze, lub płacimy za przetransferowane dane. Spam bowiem jest odbierany z serwera i dopiero w kliencie pocztowym kasowany. Dlatego metoda pierwsza jest zdecydowanie lepsza. Można też zastosować połączenie obu sposobów. I to właściwie wszystko co można o spamie i walce z nim powiedzieć. Za jego rozpoznawanie odpowiadają specjalne algorytmy i naszą rolą jest właśnie zaprzężenie ich do pracy, a nie samodzielne ich pisanie;-) 

Co z reklamą w przeglądarce? Mamy dwa główne sposoby. Albo serwer będący routerem załatwi większość reklam, albo jeśli nie mamy takiego serwera - to nasza przeglądarka. Zaczniemy od serwera. W przypadku linuxa, bądź BSD - sprawa prosta. Instalujemy zespół apache+squid+bannerfilter. Konfigurujemy squida jako transparentny proxy. Konfigurujemy bannerfilter do współpracy ze squidem. Jak to działa? 

Komp żąda strony, ale jego żądanie przechodzi przez nasz serwer z transparentnym squidem. Jeżeli pobrane ma być coś czego nazwa jest zabroniona - squid podmienia ten element na obrazek z napisem Blocked - który serwuje lokalny apache. Ot i cała tajemnica. Sercem tego mechanizmu jest plik banners.data i banners.local.data

Oto fragment pliku z zakazami:

.ads.
.adv.
.adnet.

Te trzy specyficzne słówka ubijają większość reklam - które zazwyczaj są z takich subdomen wywoływane.

banner

To słowo morduje większość bannerów - które wyciągane są z katalogu o nazwie banner;-)

nasza-klasa
rapidshare

Tutaj mamy wyłączenie konkretnych stron - zamiast nich pojawi się ładne BLOCKED - na cały ekran przeglądarki. Można też podać adres w pełnej postaci czyli np. www.nasza-klasa.pl 

Perfidia działania bannerfiltera polega na tym, że jeżeli zabronimy oglądania stron pornograficznych i pracowicie wpiszemy słowa seks, sex, dupa, cipa, dupczenie, ruchanie itd... do pliku banners.data to nie da się nie tylko zobaczyć stron które mają takie słowa w adresie, ale również nie da się ich szukać w wyszukiwarkach. Bowiem słowo wyszukiwane, trafia jako parametr do adresu strony z wynikami. A ta zostanie zablokowana bo adres zawiera zabronione słowo:-) 

Tworząc własny plik, powoli dopracowujemy to co chcemy blokować. Plik dostarczony wraz z bannerfilterem nie jest dostosowany do polskich potrzeb, ale uniwersalne reklamy załatwia. Sieć w której pracuje kilkadziesiąt komputerów z niezbyt szybkim łączem do internetu - odetchnie po zastosowaniu bannerfiltera. A i admin będzie miał spokój - jednym narzędziem tnie reklamy i zabronione strony. 

W przypadku kiedy router pracuje pod Windows i daje łącze reszcie maszyn - podobny efekt można uzyskać poprzez ręczną edycję pliku hosts. Zresztą to samo może zrobić użytkownik domowy, nie posiadający serwera, na swojej lokalnej maszynie. Plik hosts znajduje się tutaj:

C:\WINDOWS\system32\drivers\etc

Aby go ujrzeć trzeba wykonać dwuklik i z listy wybrać Notatnik jako narzędzie do jego otwarcia. Plik hosts nie ma bowiem rozszerzenia nazwy i Windows nie wie co ma z nim zrobić;-) Zawartość pliku hosts:

127.0.0.1 localhost

Jest tylko jeden wpis i informuje on system o tzw. pętli lokalnej. Ten wpis musi pozostać, ale niżej możemy dokonać własnych. Plik hosts jest najprostszym serwerm DNS i co ważne - przy żądaniu strony Windows najpierw w nim sprawdza czy ma adres IP, a jeśli nie - dopiero odwołuje się do zewnętrznego DNS. Skutkiem tego możemy zrobić tak:

127.0.0.1 localhost
127.0.0.1 kuaiche.com
127.0.0.1 nasza-klasa.pl
127.0.0.1 ads.gazeta.pl

Wadą jest brak możliwości użycia tylko części nazw, jak w bannerfilerze. Musi być podany dokładnie cały adres. W powyższych przykładach zablokowana jest cała NK i reklamy z GW. Plik hosts można dowolnie edytować, można też przekierować konkretną stronę na inną. Przykładowo -  jeżeli jako rodzic chcemy aby nasze dziecko nie czytało np. Pudelka - stosujemy wpis:

216.239.59.104 pudelek.pl

Dzięki temu każda próba wejścia na pudelka skończy się stroną główną google. Praktycznie nie ma szansy obejścia, jak również odkrycia dlaczego tak się dzieje. Jeżeli jednak dzieciak na to wpadnie - należy pochwalić i zainwestować w naukę;-) Dla zwiększenia stopnia trudności plikowi hosts można nadać atrybut Read Only. 

Rozwiązania kompleksowe, oparte o serwery nie są oczywiście jedynymi możliwymi. Opisałem te które stosuję w praktyce, w zależności od potrzeb. Dla użytkownika domowego są one trudne do wdrożenia (z wyjątkiem tego z plikem hosts), dlatego częściej stosuje się blokady z poziomu przeglądarki. W chwili obecnej są dwie przeglądarki które bardzo skutecznie załatwiają sprawę reklam - Opera i Firefox. Różnice są kosmetyczne - Opera ma blokadę reklam wbudowaną, do Firefoxa potrzebna jest wtyczka AdBlock i AdScript. Opera ma jednak całkiem wygodny system ręcznego wskazywania co reklamą jest. Wystarczy na stronie kliknąć prawym klawiszem myszy w jej pustym miejscu i wybrać opcję Zablokuj zawartość. Po czym kliknąć w to co jest reklamą i zastosować. Opera swoim działaniem przypomina nieco bannerfilter - dopisuje do listy zabronionych coś takiego:

http://*.adnet.pl
http://*banner*

To oczywiście krótki przykład, lista jest o wiele bogatsza, ale widać że można blokować konkretne subdomeny i słowa w adresie. 

Ale się napisałem dzisiaj;-) Pora odpocząć. Moja notka nie wyczerpuje zagadnienia, jest raczej wskazaniem drogi, niż analizą możliwości i rozwiązań. Zalecam jak zawsze samodzielne myślenie i działanie na chwałę internetu bez reklam;-) W komentarzach proszę o ewentualne pytania.

Brak komentarzy:

Publikowanie komentarza