+ Reply to Thread
Showing results 1 to 3 of 3

Thread: Signatur Banner Hack

  1. #1
    Moderator
    Senior Member (Board-Inventar) Jesse69's Avatar
    Join Date
    Sep 2000
    Ort
    cologne
    Posts
    2.758

    Post Signatur Banner Hack

    Hi zsammen,

    dieser Hack befindet sich nun bei uns im Einsatz.

    Ihr koennt damit eine Grafische-Signatur erstellen, die einige Stats des Forums beinhaltet
    • Forum Name
    • Mitgliederanzahl
    • User Online
    • Members Online
    • Besucher Online
    • Beiträge
    • Themen
    • Last Update
    wenn Ihr dieses Zusatzfeature nutzen moechtet, dann habt Ihr die beiden folgenden Moeglichkeiten die Signatur anzulegen :

    Ohne Link
    Code:
    [.img]http://www.digital-inn.de/images/signatur/signatur.jpg[/.img]
    Mit Link
    Code:
    [.URL=http://www.digital-inn.de][.img]http://www.digital-inn.de/images/signatur/signatur.jpg[./img][./URL]
    ohne die Punkte..


    Diese Signatur funktioniert selbstverstaendlich in allen Boards - also nicht nur hier bei uns.


    Der Hack ist nicht von uns - sondern wird nur bei uns eingesetzt - leider habe ich keinen eindeutigen Quellverweis finden koennen - da aber der (Standard)-Grafik eine URL aufgestempelt ist gehe ich davon aus, dass der Schoepfer unter sceneboard.com zu finden ist.

    Viel Spaß
    Jesse
    Last edited by Jesse69 on 13-05-2004 at 08:30

  2. #2
    Amerikaner
    Gast
    Ich heisse Michael. Ich lerne Deutsch. Meine Familie komme aus Deutschland. Ich wohne Kansas. (I probably slaughtered that)

    Are their any known hacks for the Reputation Point system? I know there is a php script, but it's defective.

  3. #3
    Registered User Junior Member Real_MadriD['s Avatar
    Join Date
    Dec 2001
    Ort
    Koeln
    Posts
    73
    Habe eine andere signatur die ich irgendwann mal bei mir gespeichert hatte.

    Sie kann die Ip´s von den anderen auslesen, und welches Betriebsystem hat usw.

    ANLEITUNG:
    Die Signatur besteht aus 2 PHP-Dateien, 2 Bildern und einem Verzeichnis (smilie)...
    In den Dateien werden die Schritte auch dokumentiert!
    Das meiste ist aus Codeschnipseln erstellt. Deswegen auch frei...

    Als erstes wenden wir uns der function_signatur.php zu. Sie beinhaltet die wichtigsten Funktionen für die Signatur:

    PHP Code:
    <?php
    //Dieses Skript wurde von Changer geschrieben.....
    //Es ist frei und darf auch weitergeben werden
    // Changer von [URL]http://www.infinity-community.com[/URL]
    // Betriebsysstem-Erkennung Übergabe des $HTTP_USER_AGENT
    // mit $what = 0 ist die rückgabe z.B. winxp
    // mit $what = 1 ist die rückgabe z.B. Windows XP
    function betriebssystem($user_agent,$what=1){
    $betriebssystem "";
    $pattern[] = "=win(dows)?=";                 $name[]    = "win";    $name2[]   = "Windows";
    $pattern[] = "=win(dows)?(.)*(95)=";            $name[]    = "win95";    $name2[]   = "Windows";
    $pattern[] = "=win(dows)?(.)*(98)=";            $name[]    = "win98";    $name2[]   = "Windows 98";
    $pattern[] = "=win(dows)?(.)*(me|9x 4.90)=";        $name[]    = "winme";    $name2[]   = "Windows ME";
    $pattern[] = "=win(dows)?(.)*(nt)=";            $name[]    = "winnt";    $name2[]   = "Windows NT 4.0";
    $pattern[] = "=win(dows)?(.)*(2k|2000|nt 5.0)=";    $name[]    = "win2k";    $name2[]   = "Windows 2000";
    $pattern[] = "=win(dows)?(.)*(xp|nt 5.1)=";        $name[]    = "winxp";    $name2[]   = "Windows XP";
    $pattern[] = "=win(dows)?(.)*(.net)=";            $name[]    = "winnet";    $name2[]   = "Windows .Net";
    $pattern[] = "=(mac)=";                    $name[]    = "mac";    $name2[]   = "Macintosh";
    $pattern[] = "=(ppc)=";                    $name[]    = "mac";    $name2[]   = "Macintosh PowerPC";
    $pattern[] = "=(linux|lynx|x11)=";            $name[]    = "linux";    $name2[]   = "Linux";
    $pattern[] = "=(solaris|sun)=";                $name[]    = "unix";    $name2[]   = "Sun Solaris";
    $pattern[] = "=(silicon)=";                $name[]    = "unix";    $name2[]   = "Silicon Graphics";
    $pattern[] = "=(hp-ux)=";                $name[]    = "unix";    $name2[]   = "HP-UX";
    $pattern[] = "=(amiga)=";                $name[]    = "unix";    $name2[]   = "Amiga";
    $pattern[] = "=(freebsd|bsd)=";                $name[]    = "unix";    $name2[]   = "Free BSD";
    $pattern[] = "=(os/2)=";                $name[]    = "unix";    $name2[]   = "OS/2";

      for(
    $p=0;$p<count($pattern);$p++){
        if(
    preg_match($pattern[$p],strtolower($user_agent))){
          if(
    $what==0){
            
    $betriebssystem $name[$p];
          }
          else{
            
    $betriebssystem $name2[$p];
          }
        }
      }

      if(
    $betriebssystem==""){
        if(
    $what==0){
          
    $betriebssystem "unix";
        }else{
          
    $betriebssystem "unbekannt";
        }
      }
    return(
    $betriebssystem);
    }

    // Browser erkennung uebergabe des $HTTP_USER_AGENT
    // mit $what = 0 ist die rückgabe z.B. ie.5.5
    // mit $what = 1 ist die rückgabe z.B. Internet Explorer 5.5

    function browser($user_agent,$what=1){
    $browser $version "";
      
    // die reihenfolge der $pattern darf nicht veraendert werden
    // Netscape
    $pattern[] = "=mozilla([s/.d]*)=";        $name[]    = "ne";    $name2[]   = "Netscape Navigator";
    // Mozilla
    $pattern[] = "=mozilla.*(rv:[d.]+)=";        $name[]    = "mz";    $name2[]   = "Mozilla";
    // Netscape
    $pattern[] = "=netscape([s/.d]*)=";        $name[]    = "ne";    $name2[]   = "Netscape Navigator";
    // Netscape
    $pattern[] = "=netscape[0-9]/([/.d]*)=";    $name[]    = "ne";    $name2[]   = "Netscape Navigator";
    // Opera
    $pattern[] = "=opera([s/.d]*)=";        $name[]    = "op";    $name2[]   = "Opera";
    // Internet Explorer
    $pattern[] = "=ie([s.d]*)=";            $name[]    = "ie";    $name2[]   = "Internet Explorer";

      for(
    $p=0;$p<count($pattern);$p++){
        if(
    preg_match($pattern[$p],strtolower($user_agent),$ret2)){
          if(
    $ret2[1]!=""){
            
    $version preg_replace("([/s:a-z])","",$ret2[1]);
          }
          if(
    $what==0){
            
    $browser $name[$p].".".$version;
          }else{
            
    $browser $name2[$p]." ".$version;
          }
        }
      }

      if(
    $browser==""){
        if(
    $what==0){
          
    $browser "ne.4.0";
        }else{
          
    $browser "unbekannt";
        }
      }
    return (
    $browser);
    }

    //Provider Erkennung
    function provider($h$s$e){
        
    $sp strpos($h$s0) + strlen($s);  
        
    $ep strpos($h$e0);
        
    $page substr($h$sp$ep-$sp);
        
    $string_count substr_count("$page""descr:");
        if (
    $string_count 0){
            
    $s =" ";
            
    $e="descr:";
            
    $sp strpos($page$s0) + strlen($s);  
            
    $ep strpos($page$e0);
            
    $page substr($page$sp$ep-$sp);
            }
    return (
    $page);
    }

    // Anfang Smilie auslesen
    // Anfang Smilie Verzeichnis auslesen
    $folder"./smilie/";
    $open=opendir("$folder");
    while (
    $file readdir($open))
    $smilie[count($smilie)] = $file;
    closedir($open);
    // Ende Smilie Verzeichnis auslesen

    // Anfang Sortieren der Filenames im Array
    sort($smilie);
    // Ende Sortieren der Filenames im Array

    //Anfang Entfernen was kein Bild ist im Array
    $tempvar=0;
    for (
    $i=0;$smilie[$i];$i++){
    $ext=strtolower(substr($smilie[$i],-4));
    if (
    $ext==".png"){$smilie1[$tempvar]=$smilie[$i];$tempvar++;}
    }
    //Ende Entfernen was kein Bild ist im Array

    // Anfang Zufalls-Smilie
    if(count($smilie1) != 1){
    srand ((double) microtime() * 10000000);
    $rand_keys array_rand ($smilie12);
    $smilie=$smilie1[$rand_keys[0]];
    }else{
    $smilie $smilie1[$i];
    }
    // Ende Zufalls-Smilie
    // Ende Smilie auslesen
    ?>
    In den Zeilen 8-91 wird eigelich nur das Betriebsystem und der Browser ausgelesen... Diese Daten werden auch vom Browser mitgeliefert. Wer also auf seinem Rechner die richtigen Tools installiert hat, kann dies natürlich auch ändern und falsche Daten an das Skript liefern.

    Die Zeilen 94-107 sind das Herz des ganzen... Und das ist genau das wo vielen das Herz in die Hose rutscht... Habe ich selbst erlebt.... großes Grinsen großes Grinsen
    Diese Funktion liest eine in den Speicher geladenen Seite aus und gibt einen Wert zurück der zwischen $s und $e liegt.... In diesem Fall wird die IP-Adresse über www.ripe.net abgefragt und in den Speicher geladen. Der Wert $s wird auf "descr:" und der Wert $e auf "country:" gesetzt.....
    Genau dazwischen liegt der Name des Providers..... wink wink

    In den Zeilen 111-137 wird das Verzeichnis /smilie ausgelesen. Desweiteren geht das Skript hin und entfernt alle Dateien die kein Bild für das Skript sind. In diesem Fall sind nur Dateien mit der Endung .png ein Bild.
    In den Zeilen 131-137 wird ein Zufallssmilie ausgewählt. Aber nur wenn mehr wie 1 Smilie im Verzeichnis liegt!!


    Jetzt kommen wird zur Datei signature.php. Mit ihr wird die Signatur erstellt. Aber auch in ihr finden wir noch ein paar wichtige Funktionen!!!

    PHP Code:
     <?
    //Dieses Skript wurde von Changer geschrieben.....
    //Es ist frei und darf auch weitergeben werden
    // Changer von [URL]http://www.infinity-community.com[/URL]
    include("function_signatur.php");

    // Anfang Domain zulassen
    $erlaube = array("www.infinity-community.com");
    $host getenv("HTTP_REFERER");
    if(empty(
    $host)) {
    $host "http://www.infinity-community.com/";
    $host parse_url($host);
    }else{
    $host parse_url(getenv("HTTP_REFERER"));
    }
    $host "$host[host]";
    if (!
    in_array($host$erlaube)){
    header("Content-Type: image/png");
    $vorlage imagecreatefrompng("fehler.png");
    $txtcolor imagecolorallocate ($vorlage25500);
    $text "Die Abfrage kann von $host nicht ausgeführt werden!";
    $text2 "Bitte wende Dich an [EMAIL]changer@infinity-community.com[/EMAIL]";
    imagestring($vorlage2302$text$txtcolor);
    imagestring($vorlage23014$text2$txtcolor);
    Imagepng($vorlage,'',100);
    ImageDestroy($vorlage);
    exit;
    }
    // Ende Domain zulassen

    $plattformbetriebssystem($HTTP_USER_AGENT);//Betriebssystem-Erkennung
    $browser=browser($HTTP_USER_AGENT);//Browser-Erkennung
    $ipadresse=getenv("REMOTE_ADDR"); // IP-Adresse auslesen
    $user_host GETHOSTBYADDR($ipadresse); //Hostname auslesen

    // Ab hier startet das Auslesen des Providers
    $provider implode(""file("http://www.ripe.net/perl/whois?form_type=simple&full_query_string=&searchtext=$ipadresse"));
    $start "descr:       ";
    $end "country:";
    $provider provider($provider$start$end);
    //Ende Auslesen Provider

    // Anfang Bild erstellen
    header("Content-Type: image/png");
    $providerltrim(chop($provider));
    /*if(strlen($provider) >=21){
        $provider = ereg_replace($provider, 'Providername zu lang', $provider);
    }*/
    if($provider =="xDSL Pool"){
    $provider ereg_replace('xDSL Pool''NetCologne'$provider);
    }
    $plattform "Dein Betriebssystem: $plattform";
    $browser "Dein Browser: $browser";
    $ipadresse "Deine IP: $ipadresse";
    $user_host "Hostname: $user_host";
    $provider "Dein Provider: $provider";
    $vorlage imagecreatefrompng("signature.png");
    $vorlage_smilieimagecreatefrompng("$folder$smilie");
    $vorlage_size getimagesize("$folder$smilie");
    $txtcolor imagecolorallocate ($vorlage25500);
    imagestring($vorlage242$plattform$txtcolor);
    imagestring($vorlage2418$browser$txtcolor);
    imagestring($vorlage22502$ipadresse$txtcolor);
    imagestring($vorlage225018$user_host$txtcolor);
    imagestring($vorlage2433$provider$txtcolor);
    imagecopy($vorlage$vorlage_smilie224700$vorlage_size[0], $vorlage_size[1]);
    Imagepng($vorlage,'',100);
    ImageDestroy($vorlage);
    ImageDestroy($vorlage_smilie);
    //Ende Bild erstellen
    ?>
    Von Zeile 8-28 wird die Domain ausgelesen, von wo die Signatur abgefragt wird. Ist eine Domain nicht in den Array eingetragen (siehe weiter unten), bekommt derjenige der die Signatur sieht einen Fehler angezeigt.

    In der Zeile 8 wird die Domain eingetragen, wo die Signatur betrieben werden darf. Will man mehrere Domains einragen muß der Array wie folgt aussehen:

    "$erlaube = array("www.infinity-community.com", "www.meine2tedomain.de", "www.meine3tedomain.de");"

    In Zeile 31-34 werden verschiedene Daten vom Browser ausgelesen.
    Nun kommen wir zu den Zeilen in denen Der Provider ausgelesen wird (Zeile 37-40).
    Wie Ihr seht wird das Ganze über www.ripe.net gemacht.

    Die Zeile 44 gibt nur an als was für ein Bildtyp die Signatur an den Browser zurückgegeben werden soll.
    In der Zeile 45 werden aus Variable $provider Leerzeichen, Tabulatoren und Zeilenvorschübe entfernt.

    Zeile 46-48 habe ich in ein REM gesetzt (Wird vom PHP-Interpreter nicht ausgewertet). Dort wird überprüft ob der Providername nicht die Zeichenlänge von 20 Zeichen überschreitet. Da ansonsten der Name über die Signatur hinausgeht... Kann aber ruhig wieder aktiviert werden. Einfach die Zeichen /* und */ entfernen.

    In den Zeilen 49-51 habe ich einen Provider genommen der nicht seinen richtigen Namen eingesetzt hat (kommt von www.ripe.net). Hier wird der ursrüngliche Namen mit dem richtigen ersetzt.
    Will man noch andere Provider mit dem Namen ersetzen müssen die folgenden Zeilen wie folgt aussehen:

    "elseif($provider =="Der Name von ripe.net"){
    $provider = ereg_replace('Der Name von ripe.net', 'Der neue Name', $provider);
    }"

    In den Zeilen 52-56 werden die Texte vorbereitet die anschließend auf der Signatur erscheinen.

    Nun kommen die letzten Zeilen 57-69.... Dort ensteht nun die Signatur.


    Sollte das jemand in einem Forum einstellen wollen, muß er auch beachten das PHP als Bildtyp erlaubt ist...
    Als Admin sollte man das aber anschließend wieder deaktivieren!!!!!
    Im Anhang findet Ihr die komplette Signatur.
    Wenn Fragen bestehen, werde ich sie gerne beantworten.
    Meldet Euch einfach dafür im Forum Grafik-Webdesign.


    Nochmal zum nachlesenLink
    Attached Files
    Last edited by Real_MadriD[ on 07-09-2005 at 22:10
    [align=center]*** Don´t Panic wer´re only Hispanic ***[/align]
    [align=center]
    http://de.miniprofile.xfire.com/bg/os/type/1/maeky2222.png

    [/align]

+ Reply to Thread

Lesezeichen

Posting Rules

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein