Cougar
Admin Admin
| Beiträge: 732 |  |
|
bessere Suchmaschinen-Sperre - 31/10/2006 18:12
Hallo,
ich habe die Suchmaschinen-Sperre etwas verbessert. Das bedeutet, das mit einem etwas geänderten Code mehr Suchmaschinen vom Counter ignoriert werden.
Weiters ist mir aufgefallen, das der Counter (NUR bei der include-Einbindung) das Laden der Seite abbricht. d.h.: Wenn der Counter den Besucher als Suchmaschinen-Bot erkennt, wird mit die() die weitere Ausführung der Seite abgebrochen. Großer Nachteil dabei ist, das die Seite nicht follständig gecrawled wird, und somit bei Suchergebnissen deine Seite nicht gelistet wird.
Also jetzt die Anleitung für den besseren Code:
Öffne die Datei "counter_count.php" und lösche die Zeilen 70 bis 89. Das ist folgender Code:| Code: | $b4yc_spider_sperre = 0; // 0 für deaktiviert; 1 für aktiv
if ($b4yc_spider_sperre)
{
$b4yc_spider_host_part = array();
$b4yc_spider_host_part[] = "bot";
$b4yc_spider_host_part[] = "spider";
$b4yc_spider_host_part[] = "search";
$b4yc_spider_host_part[] = "gigablast";
// kann beliebig erweitert werden
$b4yc_spider_host_full = gethostbyaddr($b4yc_remote_addr);
$b4yc_spider_i = 0;
$b4yc_spider_host_summe = count($b4yc_spider_host_part);
while ($b4yc_spider_i < $b4yc_spider_host_summe)
{
if ( strstr($b4yc_spider_host_full, $b4yc_spider_host_part[$b4yc_spider_i])) { die(); }
$b4yc_spider_i++;
}
}
|
anstelle des obigen Codes schreibst du:| Code: | $b4yc_spider_sperre = 1; // 0 für deaktiviert; 1 für aktiv
$b4yc_spider = 0;
if (($b4yc_spider_sperre == 1) && ($b4yc_referer == ""))
{
function checkBot($b4yc_string) {
$b4yc_bots = array(
'bot', 'spider', 'spyder', 'crawl', 'robo', 'agentname',
'altaVista intranet', 'appie', 'arachnoidea', 'asterias',
'beholder', 'bumblebee', 'cherrypicker', 'cosmos', 'openxxx',
'fido', 'crescent', 'emailsiphon', 'emailwolf', 'extractorpro',
'gazz', 'gigabaz', 'gulliver', 'hcat', 'hloader', 'incywincy',
'infoseek', 'inktomi', 'link', 'internetami', 'internetseer',
'scan', 'fireball', 'larbin', 'libweb', 'trivial', 'mata hari',
'medicalmatrix', 'mercator', 'miixpc', 'moget', 'muscatferret',
'slurp', 'quosa', 'scooter', 'sly', 'webbandit', 'spy', 'wisewire',
'ultraseek', 'piranha', 't-h-u-n-d-e-r-s-t-o-n-e', 'indy library',
'ezresult', 'informant', 'swisssearch', 'sqworm',
'ask jeeves/teoma', 'libwww'
);
$b4yc_string = strtolower($b4yc_string);
$b4yc_i = 0;
$b4yc_summe = count($b4yc_bots);
while ($b4yc_i < $b4yc_summe) {
if ( strstr($b4yc_string, $b4yc_bots[$b4yc_i])) return true;
$b4yc_i++;
}
return false;
}
if (checkBot($b4yc_user_agent)) { $b4yc_spider = 1; }
// wenn kein Client übergeben wird
if (!$b4yc_user_agent) { $b4yc_spider = 1; }
// Wenn als Client "Mozilla/5.0" übergeben wird
if ($b4yc_user_agent == "Mozilla/5.0") { $b4yc_spider = 1; }
}
// -> kein Spider und die IP nicht gesperrt
if (($b4yc_spider == 0) && ($b4yc_lock_ip!="yes")) {
|
und am Ende der Datei ( noch vor ?> ) schreibst du noch diesen Code:
das war es schon.
mfg,
Cougar
|