myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

Php User Agent Block

Willkommen

myGully

Links

Forum

 
Thema geschlossen
 
Themen-Optionen Ansicht
Ungelesen 10.01.10, 20:04   #1
NoBrain
Anfänger
 
Benutzerbild von NoBrain
 
Registriert seit: Aug 2008
Ort: villach, österreich
Beiträge: 17
Bedankt: 1
NoBrain ist noch neu hier! | 0 Respekt Punkte
Standard

kann nützlich sein, werd mal zu meiner php-funktions-sammlung hinzufügen

eine kleine verbesserung hätt ich noch:

die webmaster-email ist jetzt eine variable, dann braucht man sie nicht 3 mal im code ändern

Code:
<?php

	//by Bugfix for mygully.com

	$block = false;
	$block1 = false;
	$block2 = false;
	$block3 = false;
	
	$webmaster_email = '[email protected]';

	//User Agent blockieren
	$useragentliste = array(
		"MSIE 5.5",
		"MSIE 5.23",
		"MSIE 5.17",
		"MSIE 5.01"
	 );
	foreach ($useragentliste as $i) {
	  if (strpos ($HTTP_USER_AGENT, $i) !== false) {
		$block = true;
	  }
	}
	
	// Web Crawler blockieren
	$crawler = array(
		"LinkWalker",
		"TurnitinBot",
		"UbiCrawler",
		"Wget",
		"SiteSucker",
		"aipbot",
		"BlackWidow",
		"Bot\ mailto:[email protected]",
		"Bloggsi",
		"ChinaClaw",
		"CHATCATCHER",
		"CopyRightCheck",
		"Custo",
		"DISCo",
		"Download\ Demon",
		"eCatch",
		"EirGrabber",
		"EmailSiphon",
		"EmailWolf",
		"Express\ WebPictures",
		"ExtractorPro",
		"EyeNetIE",
		"FlashGet",
		"GetRight",
		"GetWeb!",
		"Go!Zilla",
		"Go-Ahead-Got-It",
		"GrabNet",
		"Grafula",
		"grub",
		"HMView",
		"HTTrack",
		"HTTP://WWW.RELEVANTNOISE.COM",
		"Image\ Stripper",
		"Image\ Sucker",
		"InterGET",
		"Internet\ Ninja",
		"Java",
		"JAVA",
		"JetCar",
		"JOC\ Web\ Spider",
		"larbin",
		"looksmart",
		"LeechFTP",
		"LMSPIDER",
		"lmspider",
		"MoreOverBot",
		"Mozilla$",
		"Mass\ Downloader",
		"MIDown\ tool",
		"Mister\ PiX",
		"Navroad",
		"NearSite",
		"NetAnts",
		"NetMechanic",
		"NetSpider",
		"Net\ Vampire",
		"NetZIP",
		"Octopus",
		"Offline\ Explorer",
		"Offline\ Navigator",
		"PageGrabber",
		"Papa\ Foto",
		"pavuk",
		"pcBrowser",
		"PYTHON-URLLIB",
		"RealDownload",
		"ReGet",
		"SHELOB",
		"SIMILARPAGES",
		"SiteSnagger",
		"SmartDownload",
		"SphereScout",
		"SuperBot",
		"SuperHTTP",
		"Surfbot",
		"thesubot",
		"tAkeOut",
		"Teleport\ Pro",
		"VoidEYE",
		"Web\ Image\ Collector",
		"Web\ Sucker",
		"WebAuto",
		"WebCopier",
		"WebBandit",
		"WebFetch",
		"WebGo\ IS",
		"WebLeacher",
		"WebReaper",
		"WebSauger",
		"Website\ eXtractor",
		"Website\ Quester",
		"WebStripper",
		"WebWhacker",
		"WebZIP",
		"Wget",
		"Widow",
		"WWWOFFLE",
		"YANDEX",
		"Xaldon\ WebSpider",
		"Zeus"
		 );
	foreach ($crawler as $i) {
	  if (strpos ($HTTP_USER_AGENT, $i) !== false) {
		$block1 = true;
	  }
	}
	
	// IP blockieren
	$ipliste = array(
	"100.100.100.100",
	"200.200.200."
	);
	foreach ($ipliste as $i) {
	  if (strpos ($REMOTE_ADDR, $i) !== false) {
		$block3 = true;
	  }
	}

	// Referrer blockieren 
	$referrerliste = array(
		"sexsq",
		"spampoison",
		"amateurxpass"
		);
	foreach ($referrerliste as $i) {
	  if (strpos ($HTTP_REFERER, $i) !== false) {
		$block2 = true;
	  }
	}
	
	// Folgende Seiten werden geladen
	
	// browser
	if ($block == true) {
		echo "<br/><br/><br/><center><b>INFORMATION</b><br/><br/>";
		echo "Deine Browser Version ist veraltet bitte updaten!<br/><br/>";
		echo "Derzeit benutzt du:<br/><br/>";
		echo "<b>{$HTTP_USER_AGENT}</b><br/><br/>";
		exit;
	}
	
	// webcrawler
	if ($block1 == true) {
		echo "<br/><br/><br/><center><b>WARNING / WARNUNG</b><br/><br/>";
		echo "Information: WebCrawler are not allowed!<br/>";
		echo "Information: WebCrawler sind hier nicht erlaubt!<br/>";
		echo "<br/>";
		echo $webmaster_email."<br/>";
		echo "<img src=\"stopschild.gif\"><br/>";
		exit;
	}
	
	// referer
	if ($block2 == true) {
		echo "<br/><br/><br/><center><b>WARNING / WARNUNG</b><br/><br/>";
		echo "Information: Referrer is blocked!<br/>";
		echo "Information: Referrer wurde blockiert!<br/>";
		echo "<br/>";
		echo $webmaster_email."<br/>";
		echo "<img src=\"stopschild.gif\"><br/>";
		exit;
	}
	
	// IPs
	if ($block3 == true) {
		echo "<br/><br/><br/><center><b>WARNING / WARNUNG</b><br/><br/>";
		echo "Information: Your IP is {$REMOTE_ADDR} and you're not allowed to view this page!<br/>";
		echo "Information: Deiner IP-Adresse {$REMOTE_ADDR} und dir ist es nicht gestattet diese Website zu sehen!<br/>";
		echo "<br/>";
		echo $webmaster_email."<br/>";
		echo "<img src=\"stopschild.gif\"><br/>";
		exit;
	}
?>
vielleicht können wir ja daraus sowas wie ein community-projekt machen wenn noch wer ideen hat? die block-listen könnte man zB. aus files laden, dann wird der code übersichtlicher und man kann sich zB. listen runterladen und einfach ersetzen ohne den code zu ändern.
__________________
Ich lese mir die [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] durch, bevor ich eine Sig erstelle!
I read the [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] before I create a signature.
NoBrain ist offline  
Thema geschlossen


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:35 Uhr.


Sitemap

().