Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Area Aziende Cocktail Registrazione domini



Impedire il Crawling - download dei siti su browser offline

Home + Articoli + Sicurezza + Articolo # 158
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


E' ormai nota a tutti l'esistenza di programmi in grado di scaricare interi siti che consentono all'utente la navigazione offline (direttamente sul proprio computer) come Teleport PRO, Openbot, WebCopier, Webzip, HTTrack, Ecatch, e cosi via.

Questi software rescono a scaricare perfettamente codici HTML, CSS, Javascript, immagini e qualsiasi elemento di una pagina Web lato client.

Per un motivo o per un altro (e di motivi ce ne sono molti) la cosa può risultare fastidiosa. Vediamo quindi come impedire il crawling del nostro sito.

Quando un normale browser Web, uno spider di un motore di ricerca, o uno di questi software per il crawling visitano una pagina Web, non possono fare a meno di comunicare al server il proprio USER_AGENT.

Ogni pagina ASP che non desideriamo venga scaricata deve contenere un controllo che verifica l'USER_AGENT comunicato al server e, se indesiderato, verrà inibito.

Vediamo dunque un codice di esempio:
<%@LANGUAGE = VBScript%>
<%
    Dim a, agente, agenti(5)
    a = 0
    agente = LCase(Request.ServerVariables("HTTP_USER_AGENT"))
    Function NoCrawling(agente)
        agenti(0) = "teleport"
        agenti(1) = "ecatch"
        agenti(2) = "webcopier"
        agenti(3) = "openbot"
        agenti(4) = "webzip"
        For a = 0 To Ubound(agenti)
            If agenti(a) = agente Then
                Response.Write "Impossibile scaricare la pagina!"
                Response.End
            End If
        Next
    End Function
    Call NoCrawling(agente)
%>
<html>
...
Lo script è semplice: recuperiamo l'USER_AGENT e lo passiamo come parametro ad una funzione che raccoglie in un array i nomi degli USER_AGENT indesiderati.

Effettuiamo poi un ciclo sull'array e, se si verifica una corrispondenza nei nomi, lanciamo un messaggio di avviso e terminiamo l'esecuzione della pagina.

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones