Como bloquear Anuncios publicitarios y Banners con SafeSquid Proxy Server
por adminLos anuncios publicitarios (ads a continuacion) y banners no solo consumen ancho de banda innecesariamente, sino que tambien pueden distraer a los usuarios, aparte de que algunos banner pueden ser irritantes y/o obscenos. Para eliminarlos facilmente podemos usar Adblock Plus con Firefox, pero no todos los usuarios tienen instalado este componente que no viene de forma conjunta con Firefox, si no que hay que instalarlo despues, y a cada usuario en cada Pc, lo que puede ser una tarea engorrosa, aparte muchos usuarios pueden usar IE por algunos motivos, como ver el correo de Hotmail desde su Messenger, etc. Para todos estos contratiempos utilizaremos un SafeSquid.
SafeSquid puede ser configurado para bloquear estos ads y banners, o reemplazarlos con una pagina html personalizada o una imagen. Aqui explicaremos como sustituir estos ads por codigo html. Esto requiere configurar 3 secciones, plantillas, perfiles y redireccionamiento URL.
La primera cosa que haremos será diseñar el codigo html que reemplazará los ads y los banners. Debido a que la mayoria de los ads y banners son mostrados en una pequeña ventana, el codigo html que los reemplazará deberá ser lo mas pequeño posible.
Esto es un ejemplo:
<table border="0" cellspacing="0" width="100" cellpadding="0" bgcolor="#00FFFF">
<tr>
<td>
<p align="center"><font size="1" face="Tahoma"><a href="http://www.safesquid.com/">Ad / banner blocked<br>
by <b>SafeSquid</b></a></font></td>
</tr>
</table>
Copia el codigo html en un archivo que llamaremos ads.html al directorio de plantillas de SafeSquid. Por defecto este directorio se encuentra en /opt/safesquid/safesquid/templates/. Se puede comprobar esto desde el interfaz de SafeSquid => Config => Templates Section.
La seccion de plantillas de SafeSquid te permite añadir plantillas personalizadas, o mensajes que se mostraran cuando una pagina es bloqueada por un filtro, en lugar del mensaje por defecto de SafeSquid.
Una vez copiado el archivo en el directorio de plantillas tendremos que definirla en la zona de plantillas (create a template), y darle un nombre con el cual se la identificará en otras secciones. Para hacer esto abrimos el interfaz de SafeSquid y vamos a: Config => Templates. Pulsamos añadir (Add) debajo de: Template sub-section y la añadimos como se muestra a continuacion:
|
Option |
Value |
|
Enabled |
Yes |
|
Comment |
Template to replace ads and banners |
|
Profiles |
|
|
Name |
replace-ad-banner |
|
File |
/opt/safesquid/safesquid/templates/ads.html |
|
Mime type |
text/html |
|
Response code |
302 |
|
Type |
File |
|
Parsable |
Yes |
La explicacion en detalle de todos estos campos se puede encontrar en: http://www.safesquid.com/html/portal.php?page=24
Ahora el archivo ads.html se usará como una plantilla por SafeSquid, y se define como replace-ad-banner. Lo volveremos a usar despues en la seccion de Redireccionamiento URL.
Lo siguente que haremos sera identificar los ads y banners que aparecen en las paginas web para que puedan ser reemplazados. Pueden proceder de un servidor remoto de Publicidad, o del mismo servidor web. Si los servidores de Publicidad son identificados, entonces será mucho mas facil bloquear todo lo procedente de estos servidores. En la mayoria de los casos, el enlace al contenido contendra las siguentes palabras: ad, ads, adv, advert, banner, banners, etc. en la parte de la URL del archivo, e.j. d7.zedo.com/ads2/*, *.googlesyndication.com/pagead/show_ads.js. Por tanto si podemos filtrar dichas URLs, podremos reemplazarlas con nuestras plantillas personalizadas.
SafeSquid permite el uso de expresions Perl (PCRE , Perl Compatible Regular Expressions), esto nos permitira crear una regla que puede cubrir multiples palabras, cadenas o expresiones. Ve a Config => Profiles y crea estas dos reglas:
Perfil para identificar los Servidores de Publicididad:
|
La regla anterior analiza la parte Host de las URLs para verificar si el contenido es servido desde un servidor de Publicidad listado en el campo Host, y si la coincidencia encontrada es positiva, se aplica el perfil Ad-Server-Content que lo contiene. (Una URL es creada del protocolo://host/file, e.j. http://www.safesquid.com/html).
El campo Host en la regla anterior es una expresion regular. Los nombres de Host son separados por (|). En las expresiones regulares, un ‘.’ es un caracter especial – un caracter simple comodin. Un ‘\’ anterior a un ‘.’ especifica que debe ser interpretado como un carcter ‘.’ y no como un comodin. La expresion que comienza con ^ad(|s|v|server)\. indica que las coinciden las expresiones ad., ads., adv. y adserver. en la parte de host la una URL, ejemplo: ad.indiatimes.com, ads.asiafriendfinder.com, adv.elbuscador.com, etc.
Perfil como identificar expresiones en archivo parte de una URL:
|
La regla superior analiza la parte de archivo de una URL para verificar si contiene cualquiera de las expresiones especificadas en la en campo file de la regla, y si una coincidencia positiva es encontrada, le aplica el perfilAd-Banner al contenido.
Ahora podemos añadir los perfiles creados: Ad-Server-Content y Ad-Banner que son aplicados a las coincidencias positivas para redirigir las peticiones a ellas hacia nuestras paginas personalizadas ads.html. Esto se hace: ve a Config => URL redirecting. La seccion de redireccion de URL permite redirigir las peticiones a una URL especifica hacia otra URL. Esta caracteristicas es muy potente y se usa sobre todo para crear servidores web redundantes, cuando SafeSquid se encuanetra en modo reverse proxy.
Verificar que la seccion esta activada – Enabled = True, click en Add under Redirect sub-section y añade la siguiente regla:
|
Simplemente ponemos esta regla que redirigira todas las peticioes que recaen en los perfiles Ad-Server-Content y Ad-Banner, a una plantilla de reemplazo del ad-banner, la cual es sera nuestra pagina html – ads.html.
Ahora estamos preparados para ver los resultados de lo que hemos realizado a lo largo de este manual. Abrimos nuestro navegador y visitamos una pagina con ads y banners, por ejemplo: www.in.indiatimes.com. Los ads y los banners deberian ser reemplazados por el html personalizado, como se muestra a continuacion:

Podemos verificar que las URLs estan siendo redirigidas revisando el log de SafeSquid. Haz click en Ver entradas del log en la parte superior del menu. Veras muchas entradas. Para filtrar las entradas de redireccion URL, teclea redirect en el campo de Expresion Regular, y pulsa aceptar. Mostrara las entradas similares a esta:
2008 06 06 13:06:45 [19] redirect: request for http://ads.indiatimes.com/ads.dll/genptypead?slotid=1942 to http://safesquid.cfg/template/replace-ad-banner
Extraido de HowToForge
Traducido por DjD






