- Home
- Categorie
- Coding e Sistemistica
- PHP
- Script che quando passa lo spider di google manda una mail
-
Wow, adesso mi sembra che il codice php inserito nel file tpl venga compilato. Beh aspetto le email del passaggio del googlebot.
Probabilmente l'altra volta non mi funzionavano perchè il codice php serviva per fare delle cose sul database
Se funziona, vi ringrazio. Ho usato il codice messo da sugnu beddu
-
Brrrravo!!
P.S. Ma che siti hai?...x curiosità.
-
www.skiforum.it
Ho messo il codice già ieri ma non mi è arrivata nessuna email, nonostante dall'admin panel abbia beccato il googlebot già diverse volte
-
@Tuonorosso said:
vi sbagliate,
io ho messo tranquillamente del php alla fine dell'overall_footer.tplbasta mettere
<?php
il tuo script
?>
Ci stavo pensando oggi e mi sono detto: ma che cretino che sono gli ho suggerito di metterlo in mille file invece basta uno
Chiedo venia per il suggerimento peggiore
-
anche a me non arriva alcuna email
-
a me funziona perfettamente
avessi voglia potrei creare anche la versione con un database, soltanto che questo script fa solo un controllo sull'agent e non sull'ip, perché altri lo fanno anche sull'ip ? ci sono bot ke si spacciano per google in giro?
-
Ciao a tutti, sono nuovo.
Ho trovato il forum cercando una soluzione per piazzare una checkbox in una pagina php, e poi ho trovato questa discussione interessante...Quale dei due codici proposti utilizzate voi?
Io ho usato il secondo e più semplice... e l'ho messo nell'index.php in questo modo, propio in cima:<?php
/**- @version $Id: index.php,v 1.41 2004/09/23 23:09:23 rcastley Exp $
- @package Mambo_4.5.1
- @copyright (C) 2000 - 2004 Miro International Pty Ltd
- @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
- Mambo is Free Software
*/
if(eregi("googlebot",$HTTP_USER_AGENT))
{
if ($QUERY_STRING != "")
{$url = "http://".$SERVER_NAME.$PHP_SELF.'?'.$QUERY_STRING;}
else
{$url = "http://".$SERVER_NAME.$PHP_SELF;}
$today = date("F j, Y, g:i a");
mail("[email protected]", "Googlebot detected on http://$SERVER_NAME", "$today - Google crawled $url");
}/** Set flag that this is a parent file */
define( '_VALID_MOS', 1 );E' corretto? Funge così?
Non ho ben capito la differenza tra i due codici proposti, questo manda una mail e l'altro salva tutto in un file di testo, è solo questa la differenza?
Ciao!
-
il codice da te postato riconosce solo google, quello che sta qualche pagina dietro riconosce tutti i bot, direi che decisamente meglio
-
Aaaa, ma l'altro come si usa? Cioè in che file e posizione bisogna metterlo?
Grazie per la risposta cmq.
-
basta che lo copi un file esterno e poi fai un include in tutti quelli che ti servono.
o altrimenti fai come per l'altro e lo metti in cima alla index. così facendo cmq ti avvisa solo quando il bot passa sulla index.
-
Scusami, sono piuttosto inesperto di php...
Un include cioè? Puoi spiegarmi la sintassi e dove va piazzato nel corpo delle pagine (tipo nell'head...) ?
-
Rieccomi, mi serve qualche info sul bot che ha postato TuonoRosso a pagina 1 e di cui questo è uno spaccato di codice:
Codice:
pagina 1:
<?php
/* ------------------------------------------------------------ /
/ Spider-Sense /
/ Detects bot activity and alerts you to their presence /
/ By Shawn RaloffIo ho messo tutto quello che c'è nel primo riquadro in un file chiamato spider-sense.php e quello nel secondo quadrato in un altro file spider-sense.dat è corretto?
Poi nell'index ho scritto: include( 'spider-sense.php' );Però mi da un errore... è giusto fare così?
-
è giusto se i due file li metti nella stessa directory in cui metti l'include, altrimenti devi dargli una posizione diversa, o altrimenti vai nel primo forum dove ho postato il codice modificato
-
sto modificando lo script che uso per fare in modo che al posto che inviare una mail registri i dati in una tabella (mysql) in modo da poter avere i dati in un report di più agevole consultazione.
quando cominci ad avere un po' di siti con qualche centinaio di pagine l'uno e ti fai mandare una mail per ogni bot... praticamente passi la giornata a cancellare email ed arrivi al punto di disabilitare lo script per la disperazione.
invece quelle info sono importantissime
-
Io però credevo che non si vedesse la modifica all'index (è qui che ho messo l'include), invece appare uno spazio vuoto in cima alla pagina e ho scoperto che selezionandolo si scoprono delle scritte che hanno lo stesso colore dello sfondo e che riportano un errore.
Warning: eregi(): REG_EMPTY in /web/htdocs/www.metalzena.it/home/spider-sense.php on line 27
Alla riga 27 trovo:
if( eregi($agent,$bot) )
{
mail("$email", "$agent detected on $domain", "$agent has crawled $page on $domain");
}Ma non capisco dov'è il problema se dite che è giusto. Tra l'altro i file sono nella stessa directory dell'ndex.php
-
Scusate i post ravvicinati, ma ho modificato il bot trovato a pagina 1 aggiungendogli la funzione per mandare i report per mail.
Ecco il codice
<?
$agents = array(
"ultraseek" => "Infoseek",
"sidewinder/" => "Infoseek",
"ia_archiver" => "Alexa",
"arianna.iol.it" => "Arianna",
"ask jeeves" => "Ask jeeves",
"fast-webcrawler/" => "Fast",
"googlebot-" => "Google Immagini",
"googlebot/" => "Google",
"mercator-" => "Altavista",
"scooter/" => "Altavista",
"scooter-" => "Altavista",
"arachnoidea" => "Arachnoidea",
"yhaoo" => "Yahoo",
"slurp" => "Inkomi",
"gulliver/" => "NorthernLight",
"lycos_spider_(t-rex)" => "Lycos",
"architextspider" => "Excite",
"libwww-perl/" => "Excite",
"almaden.ibm.com" => "Ibm Resarch"
);$filename = "motori.txt";
$ua = $_SERVER["HTTP_USER_AGENT"];
$page = $_SERVER['PHP_SELF'];foreach ($agents as $ag => $motore) {
//print date(" d-M-Y H:i ") . " \t" . $motore . " \t" . $ag . " \t" . $page ."\n";
if (strpos (strtolower (" " . $ua), $ag) > 0) {
$fp = fopen($filename, "a");if ($fp) { fwrite($fp, date(" d-M-Y H:i ") . " \t" . $motore . " \t" . $ag . " \t" . $page ."\n"); fclose($fp); break; }
}
$today = date("F j, Y, g:i a");
mail("[email protected]", "$motore detected on $page", "$today - $motore è passato su $page");
}?>
Penso che poi aggiungerò gli altri spider elencati dal bot in 2 file.
-
Gabryk, bravo!
-
Gente funziona anche troppo!
Arrivano ventine di email al minuto...
-
non ho ben capito dove sta la differenza? ci metti la data?
bè cmq nn lho fatto in sql perché per le stats uso phpstats anche se con i motori non mi pare funzionare granché bene, almeno per il forum : |
se ho tempo e voglia metto su qualche stats dedicata ai bot
-
No, la differenza è che prima quel bot non mandava mail, ma archiviava tutto su txt. Adesso fa entrambe.