Newsgroup: it.comp.www.php
Titolo: impedire il download della pagina

Sapete come posso fare ad impedire il download della pagina da parte di
software quali Teleport Pro, WebCopier...? (ne impedirei la visualizzazione)
Nella pagina PHP posso identificare quando il richiedente usa uno di tali
software? Nei file di log del server (WebAnalizer) vedo che compaiono queste
voci nella tabella dei browser.
Una volta identificato gli manderei in pasto una bella pagina bianca...
Il problema è che voglio essere sicuro non solo che sia un software di
download, ma che non sia un browser o uno spider di un motore di ricerca.
Grazie a chi potrà aiutarmi.

Da quanto detto anche prima quei soft non possono scaricarti il codice php.
E' vero, quei soft sono riconoscibili, sempre che chi scarica non abbia
preventivamente cambiato il refer che il programma manda quando inoltra la
richiesta.
In tweleport c'č un'apposita opzione che permette di fingere teleport come
un qualsiasi browser.

puoi usare il file robots.txt
in genere i scaricatori lo leggono e seguono le instruzioni scritte dentro
--
--
"L'idea di base č estremamente semplice..."
Šopyright Frank "Pazzooo" Contrepois (schiavista francese del '900)

 sento abbastanza spacciato... :(
Sapendo che è il client (il browser o altro) a mandare la sua "carta
d'identità" può anche fingere di essere quello che vuole. Si, sei spacciato,
ma al massimo qualcuno avrà scaricato la pagina (non il codice)!

"LAMASE" <a@b.c> ha scritto nel messaggio
news:9f4v65$e98$1...@fe1.cs.interbusiness.it...

forse non sono spacciato...
questi prodotti anche se si fingono browser possono farlo solo inviando un
falso nome, no?
e se provo ad esempio ad inviare loro un cookie e a recuperarlo subito dopo?
:))
oppure ad interrogare altre proprietà come referrer... ?
mi sa che li frego :))
vi tengo aggiornati!

 mi sa che li frego :))
Inutile, te lo dico per esperienza. Io faccio dei programmi in php che si
comportano in tutto e per tutto come dei browser: Entrano in un sito,
prendono i cookie, effettuano delle ricerche, sfogliano i risultati...
Volendo si puņ fare tutto!
Certo, qualcuno lo deve avere fatto apposta, ma se lo fa il tuo lavoro
diventa inutile. Generalmente dovrebbe bastare vedere il nome che ti č stato
passato, ma ripeto che non me ne preoccuperei, visto che al massimo si
scaricano l'html risultante...
LAMASE

> oppure ad interrogare altre proprietą come referrer... ?
Il referrer tra l'altro non viene sempre mandato. Viene inviato dal browser
al server solo quando clicchi su un link, e non viene mandato se
copi/incolli il link, se lo scrivi direttamente ecc..

 scaricano l'html risultante...
si, ma č l'html che non voglio far scaricare.
...
ho capito, rinuncio. Cerco di beccare solo quelli che si presentano con vero
nome; guarda cosa ho fatto:
$reepers=array("Teleport","WebCopier","Aha","BlackWidow","Disco
Pump","FlipBrowser","HWView","HTTPWeazel",
    "HTTrack Website Copier","JOC Web Spider","Leech","MemoWeb","Offline
Commander",
    "Offline
Explorer","pcBrowser","SuperBot","Webleech","WebMirror","WebReaper",
    "WebRecorder","Website Extractor","WebStripper","WebWhacker","WebZIP");
while (list($k,$v)=each($reepers))
{
 if (stristr($HTTP_USER_AGENT,$v))
 {
  $string="<h2>Wellcome to Software Planet: The Programmer's World
!!<h2><br>\n";
  echo "<html><head><title>Software Planet</title></head><body>";
  $i=65536;
  while ($i--)
   echo $string;
  exit;
 }
}
chi accede a quella pagina senza camuffare il programma si troverą a
scaricare un bel po di paginette da 4-5MB... :))

 ...
No, fammi capire perchè dovrei usare il telport per scaricarmi l'html???
Non mi basta schiaciare il tasto HTML del mio browser?
Se hai messo lo script in java per disabilitare il tasto destro del mouse
non mi basta togliere il java?
Se hai messo i frame non mi basta chiamare le pagine singolarmente?
Io personalmente il teleport lo uso quando ho un sito di fotografie,
disegni, ecc ecc che non posso scaricare manualmente una per una...
Ma se devi reperire dell'html ci sono altri modi.

 Non mi basta schiaciare il tasto HTML del mio browser?
il link a quelle pagine che non voglio rendere scaricabili è un link
nascosto che DEVONO seguire SOLO i motori di ricerca

sento abbastanza spacciato... :(
Niente affatto. Esistono vari trucchetti.
Uno, stupido stupido, e' mettere una pagina-bomba con un URL invisibile
in un punto fuori mano della pagina iniziale.
Un essere umano non lo vede; Teleport Pro, si'. E cerca di scaricarlo.
E tutte le richieste che arrivano dallo stesso IP che ha richiesto quel
file-bomba possono essere considerate "teleportate". A quel punto, puoi
mandargli un Location: e fargli scaricare qualche altro sito <grin>.
Mi raccomando, ricordati di far scadere la "censura" anti-IP dopo :-)
Leonardo
-- 
".signature": bad command or file name

nascosto che DEVONO seguire SOLO i motori di ricerca
Allora, cambia tutto. Ignora l'altro mio messaggio (basterebbe che
uno mascherasse Teleport da Google! e ti frega: ci sono dei robots
che tu VUOI fare passare!).
Tieni quelle pagine vuote per un po' di tempo e guarda quali IP ci
accedono, scrivendo IP e HTTP-USER-AGENT in un file di log.
Poi, autorizzi solo quegli IP.
Oppure vai alla cieca: autorizzi i netblock/16 di Google!, Yahoo!,
Magellan, ...
Ovviamente, questo NON ti difende da programmi davvero carogna, ma
non penso sia questo il tuo scopo, giusto?



si, ma come faccio a distinguere tra teleport e uno spider di un motore di
ricerca?
Anche i motori di ricerca seguono i link ne + ne - come teleport e
company...

Peccato però, mi piaceva il metodo che avevi detto per controllare che fosse
un programma automatico =)
E facendo un ping/traceroute sull'ip dal quale viene la richiesta?
...Uhmmm...
LAMASE


E facendo un ping/traceroute sull'ip dal quale viene la richiesta?
Appunto. In genere i "ragni" vengono da indirizzi ben precisi. Nella
fase di setup, immagazzini REMOTE_ADDR e HTTP_USER_AGENT (la pagina,
ovviamente, e' vuota).
Ottieni un file del tipo
12.34.56.78=ArachnoScanner v1.0.4b2
Poi, sostituisci il file usando un'espressione tipo
s/^\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\.\([0-9]*\)\([^0-9].*\)$
/"\1.\2.\3" => "(\4):\5",/g
e, a quel punto, quando arriva un IP, ti limiti a estrarne i primi 3
ottetti e, if (isset($ips[$REMOTE_ADDR])), tutto bene, se no... BANG
