Ergebnis 1 bis 4 von 4

Thema: Spamschutz fürs GB

  1. #1
    Fortgeschrittene/r
    Registriert seit
    23.02.2008
    Ort
    Graz
    Beiträge
    174
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard Spamschutz fürs GB

    Hallo..
    Ich bin wirklich schon am verzweifeln, bring nicht mal den Captcha einbau zusammen, kann mir iwer in dem, ich gebs zu bisschen wirren, gästebuch einen spamschutz einbauen???

    oder zumindest tipps geben, bin verzweifelt

    lg und danke schon mal

    das geb is das hier:

    PHP-Code:
          <script type="text/javascript">
    function eingaben_ueberpruefen() {
     if (document.eingabe.Name.value == "Name" || document.eingabe.Name.value.lenght < 4){
      document.getElementById("Name").style.backgroundColor="#FFFFB9";
      alert("Bitte geben Sie Ihren Namen ein!");
      return false;
     }
     else if (document.eingabe.Email.value.length < 10 || document.eingabe.Email.value.indexOf ('@',0) == -1 || document.eingabe.Email.value.indexOf ('.',0) == -1) {
      document.getElementById("Email").style.backgroundColor="#FFFFB9";
      alert("Bitte geben Sie eine gültige E-Mail-Adresse ein.");
      return false;
     }
     else if (document.eingabe.Kommentar.value == "" || document.eingabe.Kommentar.value == "Kommentar" || document.eingabe.Kommentar.value.lenght < 10) {
      document.getElementById("Kommentar").style.backgroundColor="#FFFFB9";
      alert("Bitte geben Sie einen Kommentar ein!");
      return false;
     }
     else
     return true;
    }
    </script>
          <h3>Gästebuch</h3>
    <?php
     
    // Gästebuch
     // Das Script stammt von W. Zenk
     // Homepage: www.homepage-total.de
     // eMail: webmaster@homepage-total.de
     // Das Script darf frei genutzt werden,
     // solange dieser Vermerk nicht entfernt wird!

    # E-Mail-Adresse
    $an "admin@gibsgoesgolden.at";

    # Homepage-Name
    $homepagename "Maturaball Seite GIBS 2008";

    # Einträge pro Seite
    $Anzeige 10;

     if(
    substr(strtolower($_POST['Text']),0,7)=='comment')
          
    $gbFehler "\n          <p>Tut mir leid, der Inhalt Ihrer Nahricht ist verboten!</p>";
        if(
    substr_count(strtolower($_POST['Text']),'http://')>1)
          
    $gbFehler "\n          <p>Es darf maximal 1 Link in der Nachricht vorkommen!</p>";
    if (
    $_POST) {
     
    // Variablen-Inhalt holen
     
    $Name $_POST[Name];
     
    $Email $_POST[Email];
     
    $Kommentar $_POST[Kommentar];
     
    $Homepage $_POST[Homepage];

     
    // IP einlesen
     
    $lgb fOpen("gb_lastip.txt","r");
     
    $gb_lip fGets($lgb255);
     
    fClose($lgb);
     
    $ip $_SERVER["REMOTE_ADDR"];


      if (!empty(
    $Name) && !empty($Email) && !empty($Kommentar) && $gb_lip != $ip) {
       
    // Kommentar filtern
       
    $Kommentar strip_tags(htmlentities(stripslashes(stripcslashes(trim($Kommentar)))));
       
    $Kommentar str_replace("\\r"""$Kommentar);
       
    $Kommentar str_replace("\\n"""$Kommentar);
       
    $Kommentar str_replace("|"""$Kommentar);
       
    $Name strip_tags(htmlentities($Name));
       
    $Name str_replace("|"""$Name);

       if (
    $Homepage != "") {
        
    $Homepage " &raquo;<a href=\"http://$Homepage\" target=\"_blank\">$Homepage</a>";
       }
       
    // Eintrag zusammenstellen
       
    $Eintrag "» <a href=mailto:$Email class=mailto_link>$Name</a> - <small title=IP:$ip>" date("d.m.Y/H:i") . "</small>$Homepage<br>$Kommentar|\n";
       
    // Eintrag in GB schreiben
       
    $Datei fOpen("gaestebuch-daten.txt""a+");
       
    fWrite($Datei,$Eintrag);
       
    fClose($Datei);

       
    // E-Mail versenden
       
    $betreff "Gästebucheintrag: $homepagename";
       @
    mail($an$betreff$Kommentar"From: $Name <$Email>");
       
    // Danke
       
    echo "<p><strong>Vielen Dank $Name, f&uuml;r den G&auml;stebuch-Eintrag.</strong></p>";

       
    // IP speichern
       
    $lgb fOpen("gb_lastip.txt","w");
       
    fPuts($lgb,"$ip");
       
    fClose($lgb);
      }
     }
     else {
    ?>

    <form action="<?php echo $_SERVER['PHP_SELF'?>?seite=0" method="post" name="eingabe" onSubmit="return eingaben_ueberpruefen(this.form)">
     <strong>Name:</strong> <input type="text" size="45" name="Name" id="Name" class="eingabe" title="Name" onFocus="this.style.backgroundColor='#FFFFFF';"><br>
     <strong>E-Mail:</strong> <input type="text" size="35" name="Email" id="Email" title="E-Mail" class="eingabe" onFocus="this.style.backgroundColor='#FFFFFF';"><br>
     <strong>Homepage:</strong> <i>http://</i><input type="text" size="30" name="Homepage" id="Homepage" title="Homepage" class="eingabe" onFocus="this.style.backgroundColor='#FFFFFF';"><small>(Optional)</small><br>
     <?php include("smilies/smilies.txt"); ?>
     <small>Um Missbrauch zu vermeiden, wird die IP-Adresse gespeichert.</small><br><br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;

    <input type="reset" class="button"> &emsp;
    <input type="submit" value="Eintragen" class="button">
    </form>
    <br>

    <?php
    }

    $a 0;
    $seite = ((isset($_GET["seite"])) ? $_GET["seite"] : 0);

    // Einträge auslesen
    $fp fOpen("gaestebuch-daten.txt""r");
    $Inhalt fRead($fpfilesize("gaestebuch-daten.txt"));
    fClose($fp);

    $Inhalt explode("|"$Inhalt);

    if (
    count($Inhalt) > 0) {
     
    $Inhalt array_reverse($Inhalt);
     
    $eintraege count($Inhalt); $eintraege--;

     echo 
    "<hr><b>$eintraege</b> Einträge - Seite: ";

     
    // Seitenlinks erstellen
     
    for ($zaehler 0$zaehler count($Inhalt); $zaehler $zaehler $Anzeige) {
      
    $a++;
      echo 
    "<a href=\"" $_SERVER['PHP_SELF'] . "?seite=$zaehler\">" . (($zaehler == $seite) ? "<b>" $a "</b>" $a) . "</a> \r";
     }

     echo 
    "<hr>\r";

     
    // GB-Ausgabe
     
    for ($c $seite$c < ($seite $Anzeige); $c++) {
      if (@
    $Inhalt[$c] != "" && $c 0) {
       echo 
    "<p>" . ($c) . " ";
       echo 
    ersetze_smilie($Inhalt[$c]);
      }
     }
    }


    function 
    ersetze_smilie($text) {
     
    $Muster[] =":schau:";
     
    $Ersetzen[] = '<img src="smilies/bigeek.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":cry:";
     
    $Ersetzen[] = '<img src="smilies/cry.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":grins:";
     
    $Ersetzen[] = '<img src="smilies/biggrin.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":bigsmile:";
     
    $Ersetzen[] = '<img src="smilies/bigrazz.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":nerv:";
     
    $Ersetzen[] = '<img src="smilies/confused.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":cool:";
     
    $Ersetzen[] = '<img src="smilies/cool.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":dead:";
     
    $Ersetzen[] = '<img src="smilies/dead.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":lachen:";
     
    $Ersetzen[] = '<img src="smilies/laugh.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":böse:";
     
    $Ersetzen[] = '<img src="smilies/mad.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":nichts:";
     
    $Ersetzen[] = '<img src="smilies/none.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":rolleyes:";
     
    $Ersetzen[] = '<img src="smilies/rolleyes.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":smile:";
     
    $Ersetzen[] = '<img src="smilies/smile.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":sauer:";
     
    $Ersetzen[] = '<img src="smilies/sauer.gif" class=smilie_gesichtsfarbe>';
     
    $Muster[] =":zwinker:";
     
    $Ersetzen[] = '<img src="smilies/wink.gif" class=smilie_gesichtsfarbe>';

     foreach (
    $Muster AS $key => $Wert) {
      
    $Wert preg_replace("/(\[|\]|\(|\)|\.|\?|\*|\\\)/""\\\\$1"$Wert);
      
    $Muster[$key] = "/$Wert/i";
     }
     
    $text preg_replace($Muster$Ersetzen$text);
     return 
    $text;
    }
    ?>
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: Spamschutz fürs GB

    Zuerst einmal PHP_SELF UND XSS
    Dann solltest du besser auf die Mail-Funktion von PHP verzichten und den phpMailer nutzen. Und dann sehe ich nirgendwo einen Versuch, Captcha einzubauen. google liefert mit php captcha jede Menge Treffer, unter anderem auch zu Tutorials.

  3. #3
    Azubi(ne)
    Registriert seit
    30.10.2008
    Beiträge
    81
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Spamschutz fürs GB

    Du könntest dich auch hier mal im Forum umsehen

    Gästebuch mit Captcha von crAzywuLf

    Lads dir und schau mal rein? vll hilfts dir ja weiter?!
    Wenn du voran kommen willst musst du dich halt auch mal umsehen und dazu gehört auch sich Code von anderen Usern anzusehen oder richtig zu suchen! Den Thread hab ich z.B. unter:
    Suche: Gästebuch Captcha

    gefunden oder du siehst dich mal auf Google
    Der frühe Vogel fängt den Wurm,
    aber die zweite Maus bekommt den Käse.

  4. #4
    Fortgeschrittene/r
    Themenstarter

    Registriert seit
    23.02.2008
    Ort
    Graz
    Beiträge
    174
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Spamschutz fürs GB

    das mitn captcha funktioniert bei dem Gästebuch einfach nicht..

    hab eine frage, kann mir sowas:
    In eine ähnliche Kerbe wie die vorangegangene Methode schlägt die Methode, den Eintragenden eine zufällig generierte Rechenaufgabe oder ähnliches zu servieren. Das Ergebnis kann man als hidden-Feld mitübertragen, sicherheitshalber sollte man dieses aber mit einem Faktor multiplizieren, damit der Bot nicht einfach nur "abschreiben" muss. Der Code für dieses Spielchen wäre wie folgt:
    <?php

    $random1 = rand(1,10);
    $random2 = rand(1,10);

    echo "Ergebnis von " . $random1 . " plus " .$random2 . ": ";
    echo "<input type=\"text\" name=\"aufgabe\">";
    echo "<input type=\"hidden\" name=\"loesung\" value=\"" . 4 * ($random1 + $random2) . "\">";
    ?>
    ...

    Der Check im verarbeitenden Skript wäre dann eine einfache if-Abfrage:
    <?php
    if ( 4 * $_GET["aufgabe"] == $_GET["loesung"] ){
    //Eintragen bzw. weitere Checks
    } else {
    //Spam-Alarm!
    }
    ?>
    ...

    Auch hier muss der Betreiber wieder abwiegen, ob er soetwas seinen Besuchern antun möchte oder nicht. Alternativ kann er diese Rechenaufgabe wieder als kleinen Zwischenschritt einbauen, jedoch muss diese Aufgabe dann auch klar gekennzeichnet sein, damit sie nicht übersehen wird!
    in das oben stehende gästebuch einfügen, sodass man das ergebnis eingeben muss und dann falls die rechnung falsch eingegeben wurde das fehlermeldung kommt??

    lg

Ähnliche Themen

  1. Suche spamschutz
    Von Loui im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 26
    Letzter Beitrag: 12.09.2008, 17:51
  2. Spamschutz Newsletteranmeldung
    Von Comedix im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 24.07.2008, 21:51
  3. Code überprüfen für Spamschutz
    Von layoutidee im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 12.12.2006, 11:19
  4. Spamschutz für Emailadressen auf Webseiten
    Von webbie im Forum Script-Archiv
    Antworten: 12
    Letzter Beitrag: 11.09.2006, 23:19
  5. Spamschutz für Emailadressen auf Webseiten
    Von webbie im Forum HTML & CSS Forum
    Antworten: 4
    Letzter Beitrag: 08.11.2005, 00:24

Stichworte

Berechtigungen

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