myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   Php User Agent Block (https://mygully.com/showthread.php?t=1971282)

bugfix 10.01.10 16:52

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:craftbot@yahoo.com",
"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 
"webmaster@mail.com<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 
"webmaster@mail.com<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 
"webmaster@mail.com<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

NoBrain 10.01.10 20:04

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 = 'web@master.com';

        //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:craftbot@yahoo.com",
                "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.

bugfix 10.01.10 20:11

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 ;)

NoBrain 10.01.10 20:25

yey :D

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 :T

allblock.php:

bugfix 10.01.10 20:30

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 'web@master.com';
$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


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:21 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.