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, 16:52   #1
bugfix
get shocked....
 
Benutzerbild von bugfix
 
Registriert seit: Nov 2009
Beiträge: 367
Bedankt: 443
bugfix ist noch neu hier! | 0 Respekt Punkte
Standard

Aktuelleste Version Ganz Unten Zum Download
Version 1.0.2

hab ne lösung gefunden... ich schreib mein s***** noch fertig und dann poste ich es hier...

manchmal sollte man sich echt nicht auf fertige dinge verlassen sondern einfach selbst dransetzten! Nur als Vorschau was mein S***** kann

1. Internet Explorer 5.X erkennen und User zum update auffordern
2. WebCrawler aus der Seite aussperren!
3. Bestimmte Referrer ausperren!
4. Ip Adressen Blocken

bis später Bugfix

UPDATE HIER DAS S***** WIE VERSPROCHEN:

DATEINAME (Bitte nicht verändern): allblock.php
PHP-Code:
<?php

//by Bugfix for mygully.com

$block false;
$block1 false;
$block2 false;
$block3 false;

//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
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;
}
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 
"[email protected]<br/>";
echo 
"<img src=\"stopschild.gif\"><br/>";
exit;
}
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 
"[email protected]<br/>";
echo 
"<img src=\"stopschild.gif\"><br/>";
exit;
}
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 
"[email protected]<br/>";
echo 
"<img src=\"stopschild.gif\"><br/>";
exit;
}
?>
und alle seiten die ihr damit schützen wollt müssen diesen include ganz oben im quelltext stehen haben:

<?php include_once("allblock.php"); ?>

Wenn es euch gefällt bitte bedanken!

greetz
__________________
bugfix ist offline  
Ungelesen 10.01.10, 20:04   #2
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  
Ungelesen 10.01.10, 20:11   #3
bugfix
get shocked....
 
Benutzerbild von bugfix
 
Registriert seit: Nov 2009
Beiträge: 367
Bedankt: 443
bugfix ist noch neu hier! | 0 Respekt Punkte
Standard

das ist eine gute idee mit der mail als variabel

wenn jemand ideen hat etc kann er gerne den code modifizieren solange er wieder hier gepostet wird

Community Projekt ist hiermit eröffnet
__________________
bugfix ist offline  
Ungelesen 10.01.10, 20:25   #4
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

yey

hab aus der email einen mailto-link gemacht und oben so kommentar-zeugs damit sich auch jeder eintragen kann

ich mag solche sagen , also happy coding

allblock.php:
__________________
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  
Ungelesen 10.01.10, 20:30   #5
bugfix
get shocked....
 
Benutzerbild von bugfix
 
Registriert seit: Nov 2009
Beiträge: 367
Bedankt: 443
bugfix ist noch neu hier! | 0 Respekt Punkte
Standard

ich versuch grad die variabeln aus files laden zu lassen scheitere aber bis jetzt leider noch ;p
wenn du das schaffst wär das genial ^^ hab das noch nie gemacht fgg

also wer als erster fertig ist fgg

happy coding sag ich auch noch

UPDATE:
hab das mit den file auslesen geschafft muss den code noch fertig bauen (bis jetzt funktoniert nur 1 file werd aber alles in max 30 min hier posten

so hier ist die Version 1.2 für euch

Neuheiten:
1. die variabeln werden aus .list files geladen
2. die email adresse kann in einer variabel festgelegt werden
3. bild kann in der variabel bild angepasst werden

auf dem server im gleichen ordner werden noch folgende 4 files benötigt:
(jede datei ist ein spoiler mit beispielinhalt der erweitert werden kann)

agent-black.list


ip-black.list


ref-black.list


crawler-black.list


allblock.php
PHP-Code:
<?php
    
    
/*
    * Allblock
    * 
    * version 1.0.2
    * date: 10.1.2010
    *
    * by Bugfix for mygully.com
    *
    * contributors:
    *    NoBrain
    *
    *
    *
    */
// Bitte email und warnungsbild anpassen!

$webmaster_email '[email protected]';
$bild 'http://www.test.com/images/stopschild.gif';

//---------AB HIER NICHTS MEHR ÄNDERN----------
$block false;
$block1 false;
$block2 false;
$block3 false;

//User Agent blockieren
$useragentliste "agent-black.list";
$array2 file($useragentliste);
foreach (
$array2 as $i) {
  if (
strpos ($HTTP_USER_AGENT$i) !== false) {
    
$block true;
  }
}
// Web Crawler blockieren
$crawler "crawler-black.list";
$array1 file($crawler);
foreach (
$array1 as $i) {
  if (
strpos ($HTTP_USER_AGENT$i) !== false) {
    
$block1 true;
  }
}
// IP blockieren
$ipliste "ip-black.list";
$array file($ipliste);
foreach (
$array as $i) {
  if (
strpos ($REMOTE_ADDR$i) !== false) {
    
$block3 true;
  }
}

// Referrer blockieren 
$referrerliste "ref-black.list";
$array3 file($referrerliste);
foreach (
$array3 as $i) {
  if (
strpos ($HTTP_REFERER$i) !== false) {
    
$block2 true;
  }
}
// Agent - Block send
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 - Block send
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=\"$bild\"><br/>";
exit;
}
// Referer - Block send
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=\"$bild\"><br/>";
exit;
}
// IP - Block send
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=\"$bild\"><br/>";
exit;
}
?>
und alle seiten die ihr damit schützen wollt müssen diesen include ganz oben im quelltext stehen haben:

<?php include_once("allblock.php"); ?>

Wenn es euch gefällt bitte bedanken!

greetz
__________________
bugfix 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:06 Uhr.


Sitemap

().