Come ben sanno tutti coloro che lavorano in ambito Web, esistono ormai da parecchio numerosi programmi in grado di scaricare da remoto un intero sito Internet sulla macchina locale dell’utente navigatore.
Il codice HTML generato anche da pagine dinamiche e le immagini possono essere downloadate senza limiti (!), offrendo successivamente al navigatore la possibilità di consultarle in locale nella massima comodità, senza dover rimanere collegato ad Internet per ore. Tra questi programmi annoveriamo, ad esempio, Teleport PRO, HTTrack, WebCopier, Webzip, Ecatch, Openbot, ecc...
Potremmo desiderare, in taluni casi, che il lavoro di questi particolari software fosse inibito perché alcune o tutte le pagine del nostro sito web sono sponsorizzate, quindi visitandole in locale i link esterni risulterebbero disabilitati, oppure perché, quando avviene il download dei file e delle immagini, si genera un’enorme quantità di traffico indesiderato che finirebbe per gravare pesantemente sul nostro server. Ma come impedire il download automatico del nostro sito?
Chi effettua il browsing delle nostre pagine “lascia" il proprio
user_agent, acquisibile con facilità tramite la collection delle request.servervariables.
Semplicemente controllando lo user_agent di chi accede servendosi di questi particolari software possiamo impedire il loro funzionamento reindirizzandoli, se lo si ritiene opportuno, su una pagina senza link (altrimenti entrerebbe in loop richiamando se stessa) che spieghi il motivo per il quale abbiamo deciso di impedire l’utilizzo di determinati programmi.
Richiamando lo script sottostante in cima ad ogni pagina del nostro sito, qualora uno dei software indicati nell’array (ovviamente incompleto, se desiderate rendere lo script ancora più efficace cercate di includervi il maggior numero possibile di webcrawler) cercasse di accedere alle pagine, sarebbe reindirizzato alla pagina “exit.htm". Ecco il codice:
<%@LANGUAGE="VBSCRIPT"%>
<%
strUserAgent = LCase(Request.ServerVariables("HTTP_USER_AGENT"))
dirottaSpider(strUserAgent)
function dirottaSpider(strUserAgent)
arrSpiders = Array ("teleport", "webcopier", "webzip",
"ecatch", "openbot")
for xSpid = 0 to Ubound(arrSpiders)
if arrSpiders(xSpid) = strUserAgent then Response.Redirect("exit.htm")
next
end function
%>
La pagina “exit.htm" (che come ricordato è priva di link)
avvisa che il web crawling e il browsing offline non è consentito.
Il contenuto e la grafica di tale pagina, ovviamente, può essere personalizzato completamente per garantirne l’omogeneità con tutto il resto del vostro sito Web.
<html>
<head>
<title>Download non ammesso!</title>
<meta name="robots" content="nolink, nofollow" />
</head>
<body>
<h1>Questo sito non consente il web crawling</h1>
<p>Si prega di non utilizzare programmi che consentano il download delle
pagine di questo sito per il browsing offline.<br />Grazie.</p>
</body>
</html>