jo: spams

Hallo leute, auf meiner webseite ist ein kontaktformular und über das wird gespamt, sagt mein provider und sperrt die domäne bis ich ein "sicheres" formular habe - darf der das??

gruss jo

  1. Moin!

    darf der das??

    Wenn Du die Sicherheit des Rechenzentrums/Servers gefährdest würde ich mal schwer vermuten: Ja.

    -- Skeeve

    1. Moin!

      P.S.: Ich finde, der Provider verhält sich vorbildlich!

      -- Skeeve

      1. Moin!

        P.S.: Ich finde, der Provider verhält sich vorbildlich!

        -- Skeeve

        ok Danke
        dann werde ich das formular ändern

        gruß jo

  2. Hallo Forum,

    Hallo leute, auf meiner webseite ist ein kontaktformular und über das wird gespamt, sagt mein provider und sperrt die domäne bis ich ein "sicheres" formular habe - darf der das??

    Zeig doch mal den Quelltext des Formulars, dann können dir hier sofort fünf Leute erklären was der Fehler ist und wie du ihn verbesserst :-)

    Gruß
    Alexander Brock

    1. Hallo Forum,

      Hallo leute, auf meiner webseite ist ein kontaktformular und über das wird gespamt, sagt mein provider und sperrt die domäne bis ich ein "sicheres" formular habe - darf der das??

      Zeig doch mal den Quelltext des Formulars, dann können dir hier sofort fünf Leute erklären was der Fehler ist und wie du ihn verbesserst :-)

      Gruß
      Alexander Brock

      Hallo,
      Quelltext kontakt.php
      #############
      <form action="kontakt_antwortmail.php" method="post">
      <p>Anrede: &nbsp;&nbsp;Name:<br>
      <input type="text" name="anrede" value="" size="7" style="background-color : #F4F4F4;">
      <input type="text" name="name" value="" size="28" style="background-color : #F4F4F4;"><br>
      Ihre E-Mail-Adresse:<br>
      <input type="text" name="email" value="" size="40" style="background-color : #F4F4F4;" ><br>
      Bei gew&uuml;nschten R&uuml;ckruf / <br>Tel. Nummer:<br>
      <input type="text" name="tel" value="" size="40" style="background-color : #F4F4F4;"><br>
      Ihre Anfrage:<br>
      <textarea name="text" value="" cols="30" rows="5" style="background-color : #F4F4F4;"></textarea><br>
      </p>
      <input type="submit" value="Senden!"> <input type="reset" value="Zur&uuml;cksetzen">
      </form>
      ############
      Quelltext kontakt_antwortmail.php
      ###########
      <?
      session_start();
      include "global.inc.php";
      include "tabelle.inc.php";
      $mailtext = "
      Anfrage von:  $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText:  $text ";
      mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");
      ?>
      ##########

      Danke
      gruß jo

      1. echo $begrüßung;

        include "global.inc.php";
        include "tabelle.inc.php";
        $mailtext = "
        Anfrage von:  $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText:  $text ";
        mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");

        Solange in den inkludierten Dateien keine Prüfung der Formulareingaben vorgenommen wird, liegt die Anfälligkeit in der unbehandelten Übernahme von $email in die From-Headerzeile. Prüfe, ob in $email Zeilenumbruchzeichen ("\r" oder "\n") enthalten sind und verweigere dann das Senden der Mail. Normale Benutzer können/werden in dein einzeiliges Eingabefeld keine Umbruchszeichen eingeben. Ein Spambot schert sich nicht um die Eingabefelder und gibt zusätzlich zur Email-Adresse getrennt mit Zeilenumbruch weitere Header-Zeilen mit, die du übernimmst und damit den Mailserver im Falle von Cc und Bcc veranlasst Kopien zu verschicken.

        echo "$verabschiedung $name";

        1. echo $begrüßung;

          include "global.inc.php";
          include "tabelle.inc.php";
          $mailtext = "
          Anfrage von:  $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText:  $text ";
          mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");

          Solange in den inkludierten Dateien keine Prüfung der Formulareingaben vorgenommen wird, liegt die Anfälligkeit in der unbehandelten Übernahme von $email in die From-Headerzeile. Prüfe, ob in $email Zeilenumbruchzeichen ("\r" oder "\n") enthalten sind und verweigere dann das Senden der Mail. Normale Benutzer können/werden in dein einzeiliges Eingabefeld keine Umbruchszeichen eingeben. Ein Spambot schert sich nicht um die Eingabefelder und gibt zusätzlich zur Email-Adresse getrennt mit Zeilenumbruch weitere Header-Zeilen mit, die du übernimmst und damit den Mailserver im Falle von Cc und Bcc veranlasst Kopien zu verschicken.

          echo "$verabschiedung $name";

          ok werde ich mal so machen

          Danke für den tipp

          gruss jo

        2. echo $begrüßung;

          include "global.inc.php";
          include "tabelle.inc.php";
          $mailtext = "
          Anfrage von:  $anrede $name \r\n E-Mail: $email \r\n Tel: $tel \r\n r\nText:  $text ";
          mail("xxx@xxx.xx", "Anfrage", $mailtext, "From: $email ");

          Solange in den inkludierten Dateien keine Prüfung der Formulareingaben vorgenommen wird, liegt die Anfälligkeit in der unbehandelten Übernahme von $email in die From-Headerzeile. Prüfe, ob in $email Zeilenumbruchzeichen ("\r" oder "\n") enthalten sind und verweigere dann das Senden der Mail. Normale Benutzer können/werden in dein einzeiliges Eingabefeld keine Umbruchszeichen eingeben. Ein Spambot schert sich nicht um die Eingabefelder und gibt zusätzlich zur Email-Adresse getrennt mit Zeilenumbruch weitere Header-Zeilen mit, die du übernimmst und damit den Mailserver im Falle von Cc und Bcc veranlasst Kopien zu verschicken.

          echo "$verabschiedung $name";

          Hallo,
          denke mal das du es so gemeint hast?
          $text = ereg_replace("(\r\n|\n|\r)","",$_REQUEST['text']);

          gruß jo

          1. Hallo Forum,

            denke mal das du es so gemeint hast?
            $text = ereg_replace("(\r\n|\n|\r)","",$_REQUEST['text']);

            Nein, der Text darf ja Zeilenumbrüche enthalten, nur was in den Header kommt muss überprüft werden:

              
            if (  
             strpos($_REQUEST['email'], "\n") !== false  
             or strpos($_REQUEST['email'], "\r") !== false  
            ) {  
             die('Satz mit x: War wohl nix');  
            }  
            
            

            Gruß
            Alexander Brock

            1. Hallo Alexander.

              denke mal das du es so gemeint hast?
              $text = ereg_replace("(\r\n|\n|\r)","",$_REQUEST['text']);

              Nein, der Text darf ja Zeilenumbrüche enthalten, nur was in den Header kommt muss überprüft werden:

              if (
              strpos($_REQUEST['email'], "\n") !== false
              or strpos($_REQUEST['email'], "\r") !== false
              ) {
              die('Satz mit x: War wohl nix');
              }

                
              Obgleich sinnfrei stellen jeweils nur „\n“ oder „\r“ kein Problem dar. Lediglich die Kombination „\r\n“ ist ein Problem, da diese den jeweiligen Header in dem diese E-Mail-Adresse auftaucht terminieren würde. Dadurch könnte man dann weitere einfügen. (Natürlich gilt das ganze nur, wenn wir es nicht gerade mit einem fehlerhaften MTA zu tun haben.)  
                
                
              Einen schönen Freitag noch.  
                
              Gruß, Mathias  
              
              -- 
              ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)  
                
              debian/rules
              
            2. if (
              strpos($_REQUEST['email'], "\n") !== false
              or strpos($_REQUEST['email'], "\r") !== false
              ) {
              die('Satz mit x: War wohl nix');
              }

              
              >   
              > Gruß  
              > Alexander Brock  
                
              Ok super alles klar es funkt  
                
              danke für die Hilfe  
                
              gruss jo