kostenloser Webspace werbefrei: lima-city


Sicherheitscode in Gästebuch einbauen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Hallo !

    Ich habe mir ein Gästebuch programmiert. Hier mal der Code:

    ../
    <font size="7" color="#CF0E00" face="Arial"><b>Gästebuch</b></font></p>
                                    <p>&nbsp;</p>
    
    
    
    <p align="center"><b><a class="guestbook_link" href="index.php?action=neu"><font face="Arial" color="#E10101">Neuen Eintrag hinzuf&uuml;gen</font></a></b></p>
    
    <?php require_once('antispam.php'); ?>
    <?php
    
       if($_GET['action'] == neu) {
    $_SESSION['beitrag_gestartet'] = time();
    
        echo " 
    <form action=\"eintragen.php\" method=\"post\" name=\"form\">
    <font face=\"Arial\">Ihr Name:</font><br>
    <input name=\"name\" size=\"40\"><br><br>
    
    <font face=\"Arial\">E-Mail:</font><br>
    <input name=\"email\" size=\"40\"><br><br>
    
    <font face=\"Arial\">Inhalt:</font><br>
    <textarea name=\"text\" cols=\"40\"
     rows=\"12\" wrap=\"physical\"></textarea><br>
    <p align='center'><table class='forum' border='0'>
       <tr>
        <tr>   
        <td><a href=\"javascript:seticon(':)')\"><img src='images/smilies/1.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':(')\"><img src='images/smilies/2.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':D')\"><img src='images/smilies/3.gif' border='0'></a></td>					
        <td><a href=\"javascript:seticon(':P')\"><img src='images/smilies/4.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':o')\"><img src='images/smilies/5.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(';-)')\"><img src='images/smilies/6.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':8')\"><img src='images/smilies/7.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':-(')\"><img src='images/smilies/8.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':-o')\"><img src='images/smilies/9.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':love:')\"><img src='images/smilies/10.gif' border='0'></a></td>
      </tr>
      <tr>
        <td><a href=\"javascript:seticon(':kiss:')\"><img src='images/smilies/11.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':-D')\"><img src='images/smilies/12.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(';)')\"><img src='images/smilies/13.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':cool:\")'><img src='images/smilies/14.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':boese:\")'><img src='images/smilies/15.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':eek:')\"><img src='images/smilies/16.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':cry:')\"><img src='images/smilies/17.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':confused:\")'><img src='images/smilies/18.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':bigrin:')\"><img src='images/smilies/19.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':doubt:')\"><img src='images/smilies/20.gif' border='0'></a></td>
      </tr>
      <tr>   
        <td><a href=\"javascript:seticon(':evil:')\"><img src='images/smilies/21.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':-|')\"><img src='images/smilies/22.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':rolleyes:\")'><img src='images/smilies/23.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':mad:')\"><img src='images/smilies/24.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':surprised:')\"><img src='images/smilies/25.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':30:')\"><img src='images/smilies/30.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':thumb:')\"><img src='images/smilies/31.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':32:')\"><img src='images/smilies/32.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':33:')\"><img src='images/smilies/33.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':34:')\"><img src='images/smilies/34.gif' border='0'></a></td>
      </tr>
      <tr>   
        <td><a href=\"javascript:seticon(':35:')\"><img src='images/smilies/35.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':36:')\"><img src='images/smilies/36.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':37:')\"><img src='images/smilies/37.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':38:')\"><img src='images/smilies/38.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':39:')\"><img src='images/smilies/39.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':40:')\"><img src='images/smilies/40.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':41:')\"><img src='images/smilies/41.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':42:')\"><img src='images/smilies/42.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':43:')\"><img src='images/smilies/43.gif' border='0'></a></td>
        <td><a href=\"javascript:seticon(':44:')\"><img src='images/smilies/44.gif' border='0'></a></td>
      </tr>
    </table></p><br><br>
    <table>
      <tr> 
      <td><font face=\"Arial\">Sicherheitscode:</font></td>
      <td><img src=\"$pic_name\"></td>
        </tr>
        <tr> 
         <td>&nbsp;</td>
       <td><input type=\"text\" name=\"antispam\" size=\"4\" maxlength=\"4\"><input type=\"hidden\" name=\"hashfile\" value=\"$zahl\"></td></tr>
    </table></p><br>
    <input type=\"submit\" value=\"Absenden\">
    </form>
    <br>
    
     "; 
    
    } 
    
    ?>
    <br><br>
    <?php 
    $seite = $_GET["seite"];  //Abfrage auf welcher Seite man ist 
    
    //Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1 
    if(!isset($seite)) 
       { 
       $seite = 1; 
       } 
    
    //Verbindung zu Datenbank aufbauen 
    
    
    require('../admin/sql.php');
    
    //Einträge pro Seite: Hier 15 pro Seite 
    $eintraege_pro_seite = 15; 
    
    //Ausrechen welche Spalte man zuerst ausgeben muss: 
    
    $start = $seite * $eintraege_pro_seite - $eintraege_pro_seite; 
    
    
    //Tabelle Abfragen 
    //Tabelle heißt hier einfach: Tabelle 
    $abfrage = "SELECT * FROM guestbook WHERE aktiv = '1' ORDER BY id DESC LIMIT $start, $eintraege_pro_seite"; 
    $ergebnis = mysql_query($abfrage); 
    while($row = mysql_fetch_object($ergebnis)) 
        { 
        $pass = $row->inhalt; 
        $pass = htmlspecialchars($pass); 
        $pass = preg_replace ("/([^\s]{45,})/e", "''.wordwrap('\\1', 45, ' ', 1).''", $pass);
        $pass = nl2br($pass); 
        $datum = date("d.m.Y H:i", $row->datum); 
    
      //smiles
      
        $pass = "$pass";
        $search = array(':)', ':(');
        $replace = array('<img src="images/smilies/1.gif">', '<img src="images/smilies/2.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':D', ':P');
        $replace = array('<img src="images/smilies/3.gif">', '<img src="images/smilies/4.gif">');
        $pass = str_replace($search, $replace, $pass);
     
        $pass = "$pass";
        $search = array(':o', ';-)');
        $replace = array('<img src="images/smilies/5.gif">', '<img src="images/smilies/6.gif">');
        $pass = str_replace($search, $replace, $pass);
     
        $pass = "$pass";
        $search = array(':8', ':-(');
        $replace = array('<img src="images/smilies/7.gif">', '<img src="images/smilies/8.gif">');
        $pass = str_replace($search, $replace, $pass);
     
        $pass = "$pass";
        $search = array(':-o', ':love:');
        $replace = array('<img src="images/smilies/9.gif">', '<img src="images/smilies/10.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':kiss:', ':-D');
        $replace = array('<img src="images/smilies/11.gif">', '<img src="images/smilies/12.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(';)', ':cool:');
        $replace = array('<img src="images/smilies/13.gif">', '<img src="images/smilies/14.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':boese:', ':eek:');
        $replace = array('<img src="images/smilies/15.gif">', '<img src="images/smilies/16.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':cry:', ':confused:');
        $replace = array('<img src="images/smilies/17.gif">', '<img src="images/smilies/18.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':bigrin:', ':doubt:');
        $replace = array('<img src="images/smilies/19.gif">', '<img src="images/smilies/20.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':evil:', ':-|');
        $replace = array('<img src="images/smilies/21.gif">', '<img src="images/smilies/22.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':rolleyes:', ':mad:');
        $replace = array('<img src="images/smilies/23.gif">', '<img src="images/smilies/24.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':surprised:', ':30:');
        $replace = array('<img src="images/smilies/25.gif">', '<img src="images/smilies/30.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':thumb:', ':32:');
        $replace = array('<img src="images/smilies/31.gif">', '<img src="images/smilies/32.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':33:', ':34:');
        $replace = array('<img src="images/smilies/33.gif">', '<img src="images/smilies/34.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':35:', ':36:');
        $replace = array('<img src="images/smilies/35.gif">', '<img src="images/smilies/36.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':37:', ':38:');
        $replace = array('<img src="images/smilies/37.gif">', '<img src="images/smilies/38.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':39:', ':40:');
        $replace = array('<img src="images/smilies/39.gif">', '<img src="images/smilies/40.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':41:', ':42:');
        $replace = array('<img src="images/smilies/41.gif">', '<img src="images/smilies/42.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
        $pass = "$pass";
        $search = array(':43:', ':44:');
        $replace = array('<img src="images/smilies/43.gif">', '<img src="images/smilies/44.gif">');
        $pass = str_replace($search, $replace, $pass); 
    
    
        //Der Besucher hat keine E-Mail Adresse angegeben: 
        if($row->email == "") 
           { 
           $name = "<b>$row->name</b>"; 
           } 
        else 
           { 
           //Der User hat eine Email Adresse angegeben: 
           $name = "<a href=\"mailto:$row->email\">$row->name</a>"; 
           } 
    
        echo " 
    <center>
    <table class=\"tbl-border\" cellSpacing=\"1\" cellPadding=\"0\" width=\"80%\" align=\"center\">
      <tr>
        <td class=\"tbl2\">
        <table cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\">
          <tr>
            <td class=\"small\"><b>$name</b></td>
          </tr>
        </table>
        </td>
      </tr>
      <tr>
        <td class=\"tbl1\">$pass</td>
      </tr>
      <tr>
        <td class=\"tbl2\">
        <table cellSpacing=\"0\" cellPadding=\"0\" width=\"100%\">
          <tr>
            <td class=\"small\">$datum</td>
          </tr>
        </table>
        </td>
      </tr>
    </table>
    <center><br>  "; 
         
       } 
    
    
    //Jetzt kommt das "Inhaltsverzeichnis", 
    //sprich dort steht jetzt: Seite: 1 2 3 4 5 
    
    
    //Wieviele Einträge gibt es überhaupt 
    
    //Wichtig! Hier muss die gleiche Abfrage sein, wie bei der Ausgabe der Daten 
    //also der gleiche Text wie in der Variable $abfrage, blo&szlig; das hier das LIMIT fehlt 
    //Sonst funktioniert die Blätterfunktion nicht richtig, 
    //und hier kann nur 1 Feld abgefragt werden, also id 
    
    $result = mysql_query("SELECT id FROM guestbook WHERE aktiv = '1'"); 
    $menge = mysql_num_rows($result); 
    
    //Errechnen wieviele Seiten es geben wird 
    $wieviel_seiten = $menge / $eintraege_pro_seite; 
    
    //Ausgabe der Seitenlinks: 
    echo "<div align=\"center\">"; 
    echo "<br><br><br>";
    echo "<b>Seite:</b> "; 
    
    
    //Ausgabe der Links zu den Seiten 
    for($a=0; $a < $wieviel_seiten; $a++) 
       { 
       $b = $a + 1; 
    
       //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben 
       if($seite == $b) 
          { 
          echo "  <b>$b</b> "; 
          } 
    
       //Aus dieser Seite ist der User nicht, also einen Link ausgeben 
       else 
          { 
          echo "  <a href=\"?seite=$b\">$b</a> "; 
          } 
    
    
       } 
    echo "</div>"; 
    ?>


    und die eintragen.php

    <?php 
    session_start();
    
    require('../admin/sql.php');
    
    $name = mysql_real_escape_string($_POST['name']); 
    $email = mysql_real_escape_string($_POST['email']); 
    $inhalt = mysql_real_escape_string($_POST['text']); 
    
    $datum = time(); 
    $aktiv = 1; //1: Einträge werden aktiviert gespeichert, 2: Einträge werden deaktiviert gespeichert 
    
    if($_SESSION['letzter_beitrag'] < (time() - 60)) {
    if($_SESSION['beitrag_gestartet'] < (time() - 10)) {
    // eintragen
    
    
    //Wurden die benötigten Felder ausgefüllt? 
    if($name == "" OR $inhalt == "") 
        { 
       echo "<font face=\"Arial\">Bitte die Felder \"Name\" und \"Inhalt\" ausfüllen<br><br><a href=\"javascript:history.back()\">Zur&uuml;ck</a></font>"; 
       exit; //Script Ablauf wird unterbrochen, Eintrag wird nicht gespeichert 
       } 
    if($_POST['antispam'] == $_POST['hashfile'])
    {
    $eintrag = "INSERT INTO guestbook (datum, name, email, inhalt, aktiv) VALUES ('".htmlentities($datum)."', '".htmlentities($name)."', '".htmlentities($email)."', '".htmlentities($inhalt)."', '".htmlentities($aktiv)."')"; 
    $eintragen = mysql_query($eintrag); 
    }
    else
    {
    echo '<font face=\"Arial\">Der Sicherheitscode ist falsch! Bitte versuche es erneut!</font>';
    }
    
    
    //Wurde der Eintrag erfolgreich gespeichert? 
    if($eintragen == true) 
       { 
       echo "<p align=\"center\"><font face=\"Arial\">Beitrag erfolgreich gespeichert.<br><br><a href=\"index.php\">Zur&uuml;ck zum G&auml;stebuch</a></font></p> "; 
       } 
    else 
       { 
       echo "<p align=\"center\"><font face=\"Arial\">Fehler beim Speichern.<br><br><a href=\"javascript:history.back()\">Zur&uuml;ck</a></font></p></p>"; 
       } 
    
    
    $_SESSION['letzter_beitrag'] = time();
    } else echo '<font face="Arial">Du musst mindestens 10 Sekunden lang an deinem Text schreiben!<br><br><a href="javascript:history.back()">Zur&uuml;ck</a></font>';
    } else echo '<font face="Arial">Du kannst nur einmal pro Minute einen Eintrag machen!<br><br><a href="javascript:history.back()">Zur&uuml;ck</a></font>';
    
    ?>


    Ich habe versucht, da einen Sicherheitscode einzubauen, aber ich bekomme immernoch sehr viele SPAM Einträge. Hab ich beim Einbauen vielleicht irgendwas falsch gemacht?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich glaube, die Spam Robots sind einfach zu intelligent für Deinen Sicherheitscode.. Du lieferst die Lösung des Captchas im Feld "hashfile" gleich mit. Dieses steht im Quelltext sogar direkt hinter dem Feld "antispam", und das auch noch als "hidden"-field. So ist es doch naheliegend, dass hier die Lösung drin stehen wird.
    Am besten ist es, wenn Du nicht die Lösung mit an den Browser sendest. Speicher dazu den "hashfile"-Wert einfach in einer SESSION Variablen ab.

    Oder vielleicht ist Dein Bild viel zu simpel zu lesen. Poste doch auch mal ein Beispielbild.

    Ansonsten könnte auch noch ein Fehler im Code liegen. Da du aber den kompletten Code anstatt nur den wesentlichen Ausschnitt gepostet hast, habe ich grad keine Muße, alles komplett zu debuggen.
  4. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    rnitsche schrieb:
    Ich glaube, die Spam Robots sind einfach zu intelligent für Deinen Sicherheitscode.. Du lieferst die Lösung des Captchas im Feld "hashfile" gleich mit. Dieses steht im Quelltext sogar direkt hinter dem Feld "antispam", und das auch noch als "hidden"-field. So ist es doch naheliegend, dass hier die Lösung drin stehen wird.
    Am besten ist es, wenn Du nicht die Lösung mit an den Browser sendest. Speicher dazu den "hashfile"-Wert einfach in einer SESSION Variablen ab.

    Oder vielleicht ist Dein Bild viel zu simpel zu lesen. Poste doch auch mal ein Beispielbild.

    Ansonsten könnte auch noch ein Fehler im Code liegen. Da du aber den kompletten Code anstatt nur den wesentlichen Ausschnitt gepostet hast, habe ich grad keine Muße, alles komplett zu debuggen.


    Wie kann ich denn den hashfile in einer Session Variable speichern? Hast du mal ein Beispiel?

    Hier ein Beispielbild des Codes?http://www.myimg.de/?img=1272635263046117600d6823.jpg

    Beitrag zuletzt geändert: 30.4.2010 16:49:34 von davy
  5. elternrat-zollikofen

    elternrat-zollikofen hat kostenlosen Webspace.

    Kleine Anregung.
    Ich habe eine Sicherheitsabfrage mit Hilfe von Bildern von bekannten Städten realisiert.
    Z.b. Der Eiffelturm.
    Der User muss dann die Antwort Paris eingeben. Vordert zwar ein wenig Allgemeinbildung, aber so kannst du auch sichergehen, dass nur die richtigen Leute in dein Gästebuch schreiben =P *G*
    Ich habe also Den Pfad zum Bild, die Frage, und die Antwort in der DB gespeichert. Bild heisst natürlich nicht Paris.jpg, sondern einfach eine nummer welche ja dann in der DB unter Pfad gespeichert ist.
  6. Es liegt wohl an Deinem Bild. Die Zahl ist wirklich simpel zu lesen und Spambots können mittlerweile die Zahlen auslesen.

    Für die Session Variante: In beiden PHP Dateien am Anfang folgendes schreiben
    session_start();


    Dann kannst du beim Generieren des Codes den Wert in die $_SESSION Variablen speichern und beim Eintragen wieder auslesen.

    Eine gute Anleitung für den Spamschutz (inkl. kompletten Captcha-Skript) gibts bei Stoppt-den-Spam.info
  7. m****r

    Bei Seiten von mir habe ich mich immer schnell bei reCaptcha angemeldet und dieses eingebunden. Dauert keine 5 Minuten und funktioniert wunderbar. Spamm hatte ich nie. Wenn du aber schon ein eigenes Captcha programmierst, warum dann nicht mal die "fortgeschritteren" Varianten anstatt das typische "Schreibe die Zahlenfolge ab"?

    Es gibt doch mittlerweile Captchas wie: "Was ist X * Y?" oder "Wie viele Autos siehst du auf diesem Bild?". Es wäre mir absolut neu, wenn ein SpamBot gegen alle dieser Arten von Captchas bestehen kann. Daher rate ich dir - wenn du schon etwas selber bauen willst - diese Arten von Captchas zu programmieren. Ich finde sie irgendwie auch besser als stumpfes Abtippen. ;)

  8. Autor dieses Themas

    davy

    Kostenloser Webspace von davy

    davy hat kostenlosen Webspace.

    Welche Captchas sind denn sicher vor Spambots?

    EDIT: Ich habe jetzt in mein Gästebuch als Captcha eine Rechenaufgabe gemacht. Hier zu sehen http://davidlohmann.de/guestbook/index.php?action=neu . Ist das sicher?

    Beitrag zuletzt geändert: 30.4.2010 22:24:07 von davy
  9. Ehrlich gesagt, wenn ich dein GB bespammen will, dann schaff ich dass, maschinell, nicht händisch, egal was du da an Sicherheitskrimskrams machst, eher im Gegenteil, die Menschen werden immer mehr überfordert mit der Bedienung des Formulars, von daher ist es etwas abwegig / nicht Zielführend von sicherheit zu reden.
    Aber zumindest kann man es den allgemeinen späm-bots schwer machen die Seiten voll zu müllen. Das geht am einfachsten indem man Dinge einbaut, die nicht alltäglich sind, die aber ein Mensch in Millisekunden versteht, ein Beispiel:
    statt eines Captchas baut man einen geschickt gewählten Text ein, den jeder Mensch schnell versteht, und den du auf der Server Seite auch verarbeiten kannst, ein paar Beispiele:
    fünf plus vier: ________
    Ein Wort in Reis: ________
    Weinachten ist zu welcher Jahreszeit: ________

    solche Abfragen sind für einen Menschen einfach zu verstehen und für Maschienen schwer nachzuvollziehen, weil sie schlicht nicht denken können, und das hat auch den Vorteil dass man auch etwas toleranter mit Fehlern bei der Eingabe umgehen kann, so ist zum Beispiel die Groß- und Kleinschreibung sch... egal, weil ein Computer eh nur durch zufall einen richtigen Begriff eingeben wird und wenn man viele solche Fragen zur Auswahl hat die wiederum zufällig eingeblendet werden, dann sinkt jedesmal die Wahrscheinlichkeit, dass ein Angriff erfolg hat. Außerdem, selbst wenn es schafft, dann braucht man sich nur ein paar neue, vielleicht etwas umfangreichere Fragen, überlegen und schon wird für Spämmer wieder schwerer.

    Beitrag zuletzt geändert: 1.5.2010 1:47:58 von nemoinho
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!