Eine einfache Funktion um Suchmschinen Bots zu erkennen. Es wird dabei der USER_AGENT nach Stringteilen untersucht. Die Funktion liefert ein True wenn es sich um eine Suchmaschine handelt, und ein False wenn es eine reale Person ist.
Im folgenden Code wird diese Funktion erstellt, der USER-AGENT ermittelt und dann mit Hilfe diser Funktion eine Ausgabe erzeugt ob es sich um eine Suchmaschine handelt oder nicht.
<?php
// Funktion erstellen function checkBot($string) { $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' ); $string = strtolower($string); $i = 0; $summe = count($bots);
while ($i < $summe) { if ( strstr($string, $bots[$i])) return true; $i++; } return false; }
// USER-AGENT auslesen if (isset($_SERVER['HTTP_USER_AGENT'])){ $user_agent = ($_SERVER['HTTP_USER_AGENT']); } else { $b4yc_user_agent = ""; }
// Funktion aufrufen if (checkBot(user_agent)) { echo "Suchmaschine"; } else { echo "KEINE Suchmaschine"; }
?> | |