Ergebnis 1 bis 5 von 5

Thema: Kontaktformular mit Spamschutz

  1. #1
    Meister(in)
    Registriert seit
    11.10.2006
    Beiträge
    299
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Frage Kontaktformular mit Spamschutz

    Hallo,

    mich hat jetzt etwas das php - Fieber gepackt, aber guten Ideen stehen leider mangelhafte praktische Fähigkeiten gegenüber

    Also vorneweg vielleicht mal der Code und danach meine Fragen:

    HTML-Code:
    <table border="0" cellpadding="1" cellspacing="10">
             <form action="sendcontact.php" method="post">
                     <tr>
                             <td>Anrede:</td>
                             <td><select name="Anrede" size="1">   <option>Frau</option><option>Herr</option></select></td>
                     </tr>
                     <tr>
                             <td>Name:</td>
                             <td><input name="Name" size="40" type="text"></td>
                     </tr>
                     <tr>
                             <td>eMail: *</td>
                             <td><input name="Email" size="40" type="text"></td>
                     </tr>
                     <tr>
                             <td>Betreff:</td>
                             <td><input name="Betreff" size="40" type="text"></td>
                     </tr>
                     <tr>
                             <td>Nachricht: *</td>
                             <td><textarea cols="25" name="Nachricht" rows="5"></textarea></td>
                     </tr>
                     <tr>
                             <td align="center" colspan="2"><input name="send" type="submit"
                             value="Abschicken"> &nbsp;&nbsp; <input name="Reset" type="reset"
                             value="L&ouml;schen"></td>
                     </tr>
             </form>
    und meine sendcontact:

    PHP-Code:
    <?php
             $empfaenger 
    "test@abc.de";

             if (isset(
    $_POST['send']))

    // Pflichtfelder definieren //

             
    {
             if(empty(
    $_POST['Email']) || empty($_POST['Nachricht']))
             {
    echo
    "Sie haben nicht alle Pflichtfelder ausgefüllt. Bitte gehen Sie <a
    href=\"javascript:history.back();\">zur&uuml;ck</a> und bearbeiten Sie Ihre Eingaben."
    ;
    }

    // Ende Pflichtfelder //

    // Nachricht zusammen bauen //

    else
    {
             
    $emailtext "Über das Kontaktforumlar wurde folgende Nachricht verschickt:
             \n\n"
    ;
    while(list(
    $inputfeld$angabe)=each($_POST))
    {
    if(
    $inputfeld!="send")
    {
    $emailtext .= $inputfeld.": ".$angabe."\n";
    }
    }
    $emailtext .= "\nDatum/Zeit: ";
    $emailtext .= date("d.m.Y H:i:s");
    $mailbetreff "Kontakt: ";
    $mailbetreff .= $_POST['Betreff'];
    mail($empfaenger$mailbetreff$emailtext"From:
    .
    $_POST['Email']");
    echo
    "Ihre Nachricht wurde verschickt.";
    }
    }
    else
    {
             echo
    "Ein Fehler ist aufgetreten. Bitte starten Sie einen neuen <a
             href=\"kontakt.php\">Versuch</a>."
    ;
    }
    ?>
    Folgende Probleme stellen sich:

    1. Die Absenderemail steht im Mailtext und nicht unter "From", das müsste doch gehen, oder? Ich finde aber anscheinend nicht den verursachenden Fehler.

    2. Ich habe mich schlau gemacht und festgestellt, dass oben erstellter Code easy als Spamschleuder missbaucht werden kann - das muss ich nicht unbedingt haben.

    Captchas will ich aber auch nicht, die finde ich viel zu nervig. Was für weitere Spamschutzmöglichkeiten wären zu empfehlen?

    Wie wäre es, wenn ich die angegebene Emailadresse einfach als Teil der Mailnachricht belasse und sie nicht unter die "From" Angabe schreibe - seh ich das dann richtig, dass mein Formular nicht mehr dazu benutzt werden kann andere zuzuspammen, sondern nur noch mich selber? Ich meine, dann dürften ja so Angaben wie Bcc etc. nichts mehr bringen, da sie von dem php-Script nur noch als eine Textvariable ausgegeben werden. Seh ich das richtig? Gibt es bessere Möglichkeiten?

    Ich bedanke mich schon Mal bei allen geduldigen Helfern
    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 !!!!!
    Geändert von Questionmark (29.11.2008 um 11:51 Uhr)

  2. #2
    Azubi(ne)
    Registriert seit
    08.01.2007
    Beiträge
    64
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Kontaktformular mit Spamschutz

    Hallo,

    einmal hast du recht mit der Manipulationsmoeglichkeit. Da kannst du nur mit Captchas oder vergleichbarem Arbeiten. Vergleichbar:

    3 Ankreuzkaestchen. Nur bei einem (zufaelligem) Steht dahinter "Hier ankreuzen".

    Das ist einfacher als Captcha, aber fuer den Findigen Programmierer kein problem zu umgehen.

    ========

    Du musst vermutlich bei dem

    Code:
    mail($empfaenger, $mailbetreff, $emailtext, "From:
    $_POST['Email']");


    noch ein "\r\n" hinzufuegen:

    Code:
    mail($empfaenger, $mailbetreff, $emailtext, "From:
    $_POST['Email'] \r\n");


    Aber erfahrungsgemaess ist die PHP mail Funktion einfach nur schlecht.
    Wenn du ein bisschen Komfort bei Mails willst versuch mal
    PHPMailer.
    Super einfach zu bedienendes Script, das sehr beliebt ist und viele nuetzliche Features hat.

    Ach und: Da du nur dich selber als Empfaenger eingetragen hast ist das mit dem Spam wohl kein groesseres Problem, ausser fuer dich selbst.

    MfG,
    HolyMarcell
    www.holy-infos.de

  3. #3
    Meister(in)
    Themenstarter

    Registriert seit
    11.10.2006
    Beiträge
    299
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Kontaktformular mit Spamschutz

    Danke erst mal für die Antwort.

    hab jetzt sowohl gegoogelt als auch bei hotscripts und free-php nachgeschaut und einige Scripte gefunden, die ähnlich geschrieben werden wie dein PHPMailer, aber nicht genau das Gleiche. Kannst du mir dazu vielleicht einen Link geben?

    Wahrscheinlich wird aber doch auch bei dem Script verlangt werden, dass ich das Copyright intakt lasse, das verschandelt dann aber mein ästhetisches Empfinden und es zu löschen obwohl es eigentlich verboten ist, finde ich unfair - würde das selber ja auch blöd finden, wenn das einer mit meinen Scripten machen würde.

    Noch was: Soweit ich das verstanden habe, ist es durchaus möglich auch andere Empfänger zuzuspammen, auch wenn man nur sich als einzigen Empfänger eingetragen hat. Nach $_POST['from']müsste dan nach meiner Information beispielsweise nur r\nBCC: spam@opfer1.de; opfer@spammer2.com etc angegeben werden und alle würden eine Kopie der erhalten.

  4. #4
    Azubi(ne)
    Registriert seit
    08.01.2007
    Beiträge
    64
    Danke
    0
    Bekam 0 mal "Danke" in 0 Postings

    Standard AW: Kontaktformular mit Spamschutz

    Zitat Zitat von Questionmark Beitrag anzeigen
    Danke erst mal für die Antwort.

    hab jetzt sowohl gegoogelt als auch bei hotscripts und free-php nachgeschaut und einige Scripte gefunden, die ähnlich geschrieben werden wie dein PHPMailer, aber nicht genau das Gleiche. Kannst du mir dazu vielleicht einen Link geben?
    Ja sicher:
    http://sourceforge.net/projects/phpmailer



    [quote}Wahrscheinlich wird aber doch auch bei dem Script verlangt werden, dass ich das Copyright intakt lasse, das verschandelt dann aber mein ästhetisches Empfinden und es zu löschen obwohl es eigentlich verboten ist, finde ich unfair - würde das selber ja auch blöd finden, wenn das einer mit meinen Scripten machen würde.
    [/quote]

    Das ist OpenSource; Damit darfst du so ziemlich alles machen. (Nach GPL 2.0 oder jeder beliebigen spaeteren Version davon)



    Noch was: Soweit ich das verstanden habe, ist es durchaus möglich auch andere Empfänger zuzuspammen, auch wenn man nur sich als einzigen Empfänger eingetragen hat. Nach $_POST['from']müsste dan nach meiner Information beispielsweise nur r\nBCC: spam@opfer1.de; opfer@spammer2.com etc angegeben werden und alle würden eine Kopie der erhalten.
    Interessant. Hatte ich so nicht beachtet.

    Insofern einfach abzusichern, als dass du ja mit $_POST['from'] beliebig arbeiten kannst. Du kannst also absichern, dass nur eine Email-Adresse und nichts anderes in der Variable steht.
    z.B.

    Code:
    if(strpos('\r', $_POST['from']) !== false)
    {
      die('get the hell outta here');
    }
    Du solltest zusaetzlich noch eine Regular Expression - preg_match() o.ä. - benutzen. Email-RegEx bekommst du auch an jeder Ecke nachgeschmissen.
    Und guck mal nach der Parameter-Reihenfolge von strpos() bin da immer so unsicher.

    MfG,
    HolyMarcell
    www.holy-infos.de

  5. #5
    Bandit
    Gast

    Standard AW: Kontaktformular mit Spamschutz

    Zitat Zitat von HolyMarcell Beitrag anzeigen
    Du solltest zusaetzlich noch eine Regular Expression - preg_match() o.ä. - benutzen. Email-RegEx bekommst du auch an jeder Ecke nachgeschmissen.
    Ich würde eher das PEAR-Package Mail einsetzen, denn ein einfacher reg. Ausdruck reicht nicht, siehe http://pear.php.net/package/Mail

Ähnliche Themen

  1. Spamschutz fürs GB
    Von Sport-Tipps im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 13.11.2008, 16:19
  2. Suche spamschutz
    Von Loui im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 26
    Letzter Beitrag: 12.09.2008, 17:51
  3. Spamschutz Newsletteranmeldung
    Von Comedix im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 9
    Letzter Beitrag: 24.07.2008, 21:51
  4. Suche Spamschutz für Gästebuch
    Von Arno112 im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 5
    Letzter Beitrag: 20.04.2008, 20:18
  5. Selbstgemachter Spamschutz: little problem
    Von Thonixx im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 16
    Letzter Beitrag: 06.04.2008, 11:06

Stichworte

Berechtigungen

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