Ankündigung

Einklappen
Keine Ankündigung bisher.

Spam - aber wie ?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Spam - aber wie ?

    Hi

    Ich habe mit Hilfe in diesem Forum ein Kontaktformular erstellt, das mit Schutz von Prepared Statements Daten in eine Datenbank einträgt.
    Dann wird eine Vorschau Seite angezeigt, die den Datensatz der Datenbank enthält und das nochmal Formular bestehend aus lauter hidden - fields. Nach Bestätigung der Daten werden die versteckten Formularinhalte nochmal an mich geposted.
    Auf beiden Seiten sind 2 verschiedene (je 1) Captchas eingebaut.

    Ich bekomme trotzdem, von Zeit zu Zeit "Form - Submission" mails die nochdazu mit meiner eigenen email - Adresse versehen sind.
    Diese mails enthalten zwar keine Daten, aber die Kopfzeilen vom phpmailer-fe.

    Ich denke diese mails nehmen nicht den Weg über die Formulare, aber welchen dann ?

    Wie geht das und .... wie kann ich das verhindern ?

    lg
    phpels

  • #2
    Naja, direkter Zugriff auf Dein mailscript eben. Die einfachste (i.S.v. nachvollziehbarste) Lösung wäre, wenn ich mir ein alternatives Form bastele, das als action Dein Mailscript angibt. Leichter geht das für Spammer natürlich über Scripte, die direkt POST oder GET Daten an eine Webressource absenden.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Zitat von nikosch Beitrag anzeigen
      Naja, direkter Zugriff auf Dein mailscript eben. Die einfachste (i.S.v. nachvollziehbarste) Lösung wäre, wenn ich mir ein alternatives Form bastele, das als action Dein Mailscript angibt. Leichter geht das für Spammer natürlich über Scripte, die direkt POST oder GET Daten an eine Webressource absenden.

      Hi Nikosch

      Danke für die Antwort

      Aber wo ist da die Schwachstelle und wie ist sie vermeidbar:

      1. Datei die in die Webseite für den Kontakt "included" ist:
      (Datenbankaufbau erfolgt separat über PDO - prepared statement)
      PHP-Code:
      <?php 
      session_start
      ();
      require(
      "ikenndifunctions.inc.php");
       
       
      // Prüfen, ob sich die Seite selbst aufgerufen hat
          
      if ( isset($_POST["do"]) && $_POST["do"] == "insert" )
          {
          
      // Die Seite hat sich selbst aufgerufen
          
      //Variablenkontrolle:

              
      if (!isset($_POST["Vorname"])|| !isset($_POST["Zuname"])
                  || !isset(
      $_POST["frmAdresse"])||!isset($_POST["frmPLZ"])||!isset($_POST["frmOrt"])
                  || !isset(
      $_POST["frmTelNr"])||!isset($_POST["email"])||!isset($_POST["Anliegen"]))
                          {
                            die;
                          }

          
      // Pflichtfeldkontrolle
              
          
      $error_msg    =    "";    
          
          if ( 
      $_POST["Vorname"] == "" )
          {
              
      $error_msg    =    "Bitte geben Sie einen Vornamen an.<br>";
          }
          
          if ( 
      $_POST["Zuname"] == "" )
          {
              
      $error_msg    .=    "Bitte geben Sie einen Zunamen an.<br>";
          }
          
          if ( 
      $_POST["email"] == "" )
          {
              
      $error_msg    .=    "Bitte geben Sie eine email Adresse an.<br>";
          }
              if ( 
      $_POST["Anliegen"] == "" )
          {
              
      $error_msg    .=    "Bitte geben Sie ein Anliegen ein .<br>";
          }
          


      // CAPTCHA


      if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
      unset(
      $_SESSION['captcha_spam']);
      }
      else{
         
      $error_msg    .=    "Der Sicherheitscode ist falsch.<br>";
      }  
          
      // End CAPTCHA


          
          
      if ( $error_msg    == "")
          {
              
      // Alles o.k.
              
             
                      
      $strVorname $_POST["Vorname"];
                      
      $strZuname $_POST["Zuname"];
                      
      $strAdresse $_POST["frmAdresse"];
                      
      $strPLZ $_POST["frmPLZ"];
                      
      $strOrt $_POST["frmOrt"];
                      
      $strTelNr $_POST["frmTelNr"];
                      
      $stremail $_POST["email"];
                      
      $strAnliegen $_POST["Anliegen"];      
                 
                         
              
      // Datenbank-Zugriff
                  
                  
      $objDb mysqlconnectpdo();
                  
              
      // INSERT
              
      $dbInsertikenndi $objDb->prepare("INSERT INTO ikenndi (Vorname, Zuname, frmAdresse, frmPLZ, frmOrt, frmTelNr, email, Anliegen)
                  VALUES (:Vorname, :Zuname, :frmAdresse, :frmPLZ, :frmOrt, :frmTelNr, :email, :Anliegen)"
      );
                  

                      
      $dbInsertikenndi->bindParam('Vorname'$strVorname);
                      
      $dbInsertikenndi->bindParam('Zuname'$strZuname);
                      
      $dbInsertikenndi->bindParam('frmAdresse'$strAdresse);
                      
      $dbInsertikenndi->bindParam('frmPLZ'$strPLZ);
                      
      $dbInsertikenndi->bindParam('frmOrt'$strOrt);
                      
      $dbInsertikenndi->bindParam('frmTelNr'$strTelNr);
                      
      $dbInsertikenndi->bindParam('email'$stremail);
                      
      $dbInsertikenndi->bindParam('Anliegen'$strAnliegen);
              
                          
              
      // In die Datenbank eintragen
               
      $result $dbInsertikenndi->execute();
              
                 
                 if ( 
      false===$result )
              {
              die(
      "Konnte den Datensatz nicht eintragen: " mysql_error() );
              }
             
                 
      //Variablen in Session speichern
                 
                 
      $_SESSION["Vorname"] = $_POST["Vorname"];
                 
      $_SESSION["Zuname"] = $_POST["Zuname"];
                 
      $_SESSION["frmAdresse"] = $_POST["frmAdresse"];
                 
      $_SESSION["frmPLZ"] = $_POST["frmPLZ"];
                 
      $_SESSION["frmOrt"] = $_POST["frmOrt"];
             
      $_SESSION["frmTelNr"] = $_POST["frmTelNr"];
                 
      $_SESSION["email"] = $_POST["email"];
                 
      $_SESSION["Anliegen"] = $_POST["Anliegen"];
              
      // Wechsel auf Vorschau
              
      header("Location: tnx.php");
              die;
              
          }

          }



      ?>


      <span class="errormessage">
          <?php
              
      if ( $error_msg != "")
              
              {
              
              echo 
      $error_msg;
              
              }
          
      ?>
          </span>

          <span style="color:#FFCC00" align="center">
           
      <h1>KONTAKT</h1>

      <h2>Bitte nehmen Sie &uuml;ber folgendes Formular Kontakt zu mir auf.</h2>
      <h3>Durch die serverseitige Verarbeitung des Formulars, wird der Versuch Dritter unterbunden auf sensible Daten zuzugreifen. </h3>
      <br /><br />

        </span>
          
      <form action="<?php echo $_POST["PHP_SELF"]; ?>" method="POST" >
       <input type="hidden" value="kontakt.html" name="referer">
        <table style="color:#FFCC00; font-weight:bold;">
        
        
        
        <tr>
          <td style="font-weight:bold;">* = Eingabe erforderlich</td><td> </td>
        </tr>
        <tr>
          <td>Vorname*:</td><td> <input type="text" name="Vorname" value="<?php echo htmlspecialchars($_POST['Vorname']); ?>" size="40" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>Zuname*:</td><td> <input type="text" name="Zuname" value="<?php echo htmlspecialchars($_POST['Zuname']); ?>" size="40" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>Adresse:</td><td> <input type="text" name="frmAdresse" value="<?php echo htmlspecialchars($_POST['frmAdresse']); ?>" size="80" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>PLZ:</td><td> <input type="text" name="frmPLZ" value="<?php echo htmlspecialchars($_POST['frmPLZ']); ?>" size="20" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>Ort:</td><td> <input type="text" name="frmOrt" value="<?php echo htmlspecialchars($_POST['frmOrt']); ?>" size="40" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>Telefonnummer:</td><td> <input type="text" name="frmTelNr" value="<?php echo htmlspecialchars($_POST['frmTelNr']); ?>" size="40" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>Email*:</td><td> <input type="text" name="email" value="<?php echo htmlspecialchars$_POST['email']); ?>" size="40" style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></td>
        </tr>
        <tr>
          <td>Anliegen*:</td><td> <textarea rows="4" name="Anliegen" value="<?php echo htmlspecialchars($_POST['Anliegen']); ?>" cols="40"style="font-weight:bold; background-color:#FFCC00; border-bottom-color:#FFDF00 ; border-right-color:#FFDF00"></textarea></td>
        </tr>
        <tr>
        <td align="left" width="10%"><input type="hidden" name="do" value="insert"></td>
        </tr>
        </table>
        Enter security code:<br />
      <input type="text" name="sicherheitscode" size="5"><br />
      <br />
      Sollten Sie den Code nicht lesen k&ouml;nnen, dr&uuml;cken sie in ihrem Browser auf &quot;reload&quot um ihre Eingaben zu behalten und einen anderen Code angezeigt zu bekommen.<br />
        <p><input type="submit" value="Absenden" name="submit"><input type="reset" value="Reset" name="B2"></p>
        <img src="../captcha/captcha.php" border="0" title="Sicherheitscode"><br />
        
       <br />
          </form>
      Und hier die Datei die innerhalb der Session via header location aufgerufen wird um eine Vorschau anzuzeigen und einem hidden - Formular um über den Submit - Button die Daten an den phpmailer-fe zu übergeben:

      PHP-Code:
      <?php
      session_start 
      ();

      if (!isset(
      $_SESSION["Vorname"])|| !isset($_SESSION["Zuname"])
                  || !isset(
      $_SESSION["frmAdresse"])||!isset($_SESSION["frmPLZ"])||!isset($_SESSION["frmOrt"])
                  || !isset(
      $_SESSION["frmTelNr"])||!isset($_SESSION["email"])||!isset($_SESSION["Anliegen"]))
                          {
                            die;
                          }


      ?>
      <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

      <html>

          <head>
              <meta http-equiv="content-type" content="text/html;charset=iso-8859-1">
                      <title>Kontakt2</title>

                      <link rel="stylesheet" type="text/css" href="gbuch/styles/lalstyle/stylesheet.css"</link>
              
                  
          </head>

          <body>

      <div id="headersection">
      <a href="http://www.lustaufleben.at"><img src="gbuch/img/toplogo.png" border="0" /></a>
      </div>
                  ?>
              <table class="booktable">
                  <tr class="header">
                      <td colspan="3" width="100%">
                          <p class="maintitle">Vorschau ihrer Eingaben</p>
                      </td>
                  </tr>
                  <tr class="seperator">
                      <td width="20%">&nbsp;</td>
                      <td width="50%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>

              </table>
              <p></p>
              <table class="booktable">
                      
                  
                  <tr class="msgcolumn">    
                      <td class="label_datfield" width="10%">Vorname</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["Vorname"]; ?></p>
                      </td>
                  </tr>
                  <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                  <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">Zuname</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["Zuname"]; ?></p>
                      </td>
                  </tr>
                  <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                  <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">Adresse</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["frmAdresse"]; ?></p>
                      </td>
                  </tr>
                          <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                          <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">PLZ</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["frmPLZ"]; ?></p>
                      </td>
                  </tr>
                  <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                  <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">Ort</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["frmOrt"]; ?></p>
                      </td>
                  </tr>
                          
                          <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                          
                          <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">Telefon</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["frmTelNr"]; ?></p>
                      </td>
                  </tr>
                  <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                  <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">email</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["email"]; ?></p>
                      </td>
                  </tr>
                          
                          <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                          
                              <tr class="msgcolumn">
                      <td class="label_datfield" width="10%">Anliegen</td>
                      <td class="contentfield01"colspan="2" width="90%">
                          <p class="titel"><?php echo $_SESSION["Anliegen"]; ?></p>
                      </td>
                  </tr>
                          
                  <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                  <tr class="seperator">
                      <td width="10%">&nbsp;</td>
                      <td width="60%">&nbsp;</td>
                      <td width="30%">&nbsp;</td>
                  </tr>
                  
              </table>
              
              
              <form method="POST" action="phpmailer/phpmailer-fe.php">
       <input type="hidden" value="kontakt2.html" name="referer">
        <table style="width:100%">
           <tr>

        </tr> 
        <tr>
        <input type="hidden" name="Vorname" value="<?php echo $_SESSION['Vorname']; ?>"</td>
        </tr>
        <tr>
        <input type="hidden" name="Zuname" value="<?php echo $_SESSION['Zuname']; ?>" </td>
        </tr>
        <tr>
        <td><input type="hidden" name="frmAdresse" value="<?php echo $_SESSION['frmAdresse']; ?>"</td>
        </tr>
        <tr>
        <td><input type="hidden" name="frmPLZ" value="<?php echo $_SESSION['frmPLZ']; ?>"</td>
        </tr>
        <tr>
        <td><input type="hidden" name="frmOrt" value="<?php echo $_SESSION['frmOrt']; ?>"</td>
        </tr>
        <tr>
        <td><input type="hidden" name="frmTelNr" value="<?php echo $_SESSION['frmTelNr']; ?>"</td>
        </tr>
        <tr>
        <td><input type="hidden" name="email" value="<?php echo $_SESSION['email']; ?>"</td>
        </tr>
        <tr>
        <td><input type="hidden" name="Anliegen" value="<?php echo $_SESSION['Anliegen']; ?>"</td>
        </tr>
        <tr>
        <td><input type="hidden" name="do" value="insert"></td>
        </tr>


      <tr>
       <td><img src="phpmailer/worxturing.php"></td>
       </tr>
      <tr>
       <td style="color:#FFCC00; font-weight:bold">Enter security code:</td>
       </tr>
       <tr>
      <td><input name="WorxTuringTest" id="WorxTuringTest"></td>
      </tr>
      <tr>
      <td style="color:#FFCC00">Sollten Sie den Code nicht lesen k&ouml;nnen, dr&uuml;cken sie in ihrem Browser auf &quot;reload&quot<br /> um ihre Eingaben zu behalten und einen anderen Code angezeigt zu bekommen.<br />
      Das kleine 0 - Zeichen ist die Zahl 0</td>
      </tr>
      <tr>
       <td> <input type="submit" value="Submit" name="submit"> </td>
       </tr>
      </table>
        
          </form>

          </body>

      </html>
      Wo ich noch keine Lösung habe, aber das wäre ein extra - Thread ist die Behandlung des Falles, dass der User die Daten - Vorschau NICHT bestätigen wil ...

      Liebe Grüße und Vielen Dank
      phpels

      Kommentar


      • #4
        Was tut phpmailer/phpmailer-fe.php ?

        Kommentar


        • #5
          Zitat von David Beitrag anzeigen
          Was tut phpmailer/phpmailer-fe.php ?
          Hi David

          Das ist ein "Formular - Frontend" für den php - mailer. Es verschickt mails aus formularen - mit Bestätigungsmail etc... Einstellbar über templates etc ...


          Liebe Grüße
          phpels

          Kommentar


          • #6
            Ja ja, aber sendet es einfach alles, was da so irgendwie vorbei kommt? Oder sind da irgendwelche Tests von Hause aus drin? Oder hast Du selbst welche eingebaut?
            Für mich sieht es so aus: www.Dein-serv.er/phpmailer/phpmailer-fe.php im Browser eingeben -> leere mail geht raus.
            Und das ist mit Sicherheit auch das, was nikosch meinte
            Zitat von nikosch
            Naja, direkter Zugriff auf Dein mailscript eben.

            Kommentar


            • #7
              Zitat von David Beitrag anzeigen
              Ja ja, aber sendet es einfach alles, was da so irgendwie vorbei kommt? Oder sind da irgendwelche Tests von Hause aus drin? Oder hast Du selbst welche eingebaut?
              Für mich sieht es so aus: www.Dein-serv.er/phpmailer/phpmailer-fe.php im Browser eingeben -> leere mail geht raus.
              Und das ist mit Sicherheit auch das, was nikosch meinte
              Tatsächlich

              Im normalen Prozess prüft der phpmailer schon alles mögliche und wehrt sich gegen etliche Fehler ...

              Aber beim bloßen Aufruf setzt er eine mail an mich und eine Bestätigungsmail an mich ab ...

              Und wie verhindere ich das ??

              lg
              phpels

              Kommentar


              • #8
                Du speicherst die Daten doch eh schon sowohl in der Datenbank als auch in der Session.
                Du kannst einfach diese Werte abtesten und daraus die mail zusammenbauen.

                Kommentar


                • #9
                  Zitat von David Beitrag anzeigen
                  Du speicherst die Daten doch eh schon sowohl in der Datenbank als auch in der Session.
                  Du kannst einfach diese Werte abtesten und daraus die mail zusammenbauen.
                  Hi David

                  Da ich aber noch nie eine mail "zusammengebaut" habe und dann wieder die Fragestellungen um die Sicherheit (post, get etc. etc.) hatte war die Benutzung des phpmailers ein naheliegender Ausweg.

                  Andererseits ....

                  Wäre es nicht eine Möglichkeit in allen Formularen, in denen ich den phpmailer-fe nutze einfach eine versteckte Variable einzubauen, die ich dann in besagter phpmailer-fe.php als erstes mit "if !isset - die" abfrage ?

                  Liebe Grüße und Danke für die Mühe ...
                  phpels

                  Kommentar


                  • #10
                    Zitat von phpels Beitrag anzeigen
                    Wäre es nicht eine Möglichkeit in allen Formularen, in denen ich den phpmailer-fe nutze einfach eine versteckte Variable einzubauen, die ich dann in besagter phpmailer-fe.php als erstes mit "if !isset - die" abfrage ?
                    Möglich.

                    Aber um nochmal auf den Ablauf zurückzukommen. Der Benutzer gibt etwas über ein Formular ein. Diese Eingaben werden abgetestet und Du schreibst die Werte in die Datenbank. Dann werden die Eingaben nochmal als Formular angezeigt und wenn dieses Formular abgeschickt wird, wird die mail generiert - auf Grund der (anscheinend ungetesteten) Daten aus dem zweiten Formular.
                    Das ist irgendwie nicht optimal

                    Kommentar


                    • #11
                      @phpels: Ja, das ist die übliche Vorgehensweise (benutze besser eine Konstante). Oder aber: lege das Mailscript in einen Ordner, den man über das Web nicht erreichen kann.
                      [COLOR="#F5F5FF"]--[/COLOR]
                      [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                      „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                      [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                      [COLOR="#F5F5FF"]
                      --[/COLOR]

                      Kommentar


                      • #12
                        Zitat von David Beitrag anzeigen
                        Möglich.

                        Aber um nochmal auf den Ablauf zurückzukommen. Der Benutzer gibt etwas über ein Formular ein. Diese Eingaben werden abgetestet und Du schreibst die Werte in die Datenbank. Dann werden die Eingaben nochmal als Formular angezeigt und wenn dieses Formular abgeschickt wird, wird die mail generiert - auf Grund der (anscheinend ungetesteten) Daten aus dem zweiten Formular.
                        Das ist irgendwie nicht optimal
                        Hi David

                        Ich prüfe doch im zweiten Formular innerhalb der Session ob die Variablen gesetzt sind, die ja direkt aus der Session kommen. Die wurden ja schon getestet. Vom zweiten Frormular wird ja NUR der Submit - Button angezeigt, während die Daten nur in einer Tabelle gezeigt werden (alle anderen Felder sind "hidden" und via value= mit den Session-Variablen ausgefüllt).

                        Außerdem prüft der phpmailer ja nochmals die Daten, der erkennt sogar ob eine email-Adresse korrekt ist, eine Sache die meine bescheidenen Fähigkeiten übersteigt.

                        Bitte um Info welche optimierung noch vonnöten wäre.

                        (Abgesehen von dem Umstand dass ich noch keine Lösung für den Fall habe, daß der user die Daten NICHT bestätigt ...)

                        Liebe Grüße
                        phpels

                        Kommentar


                        • #13
                          Ob nun hidden oder nicht, wenn Du Dich im Skript, das wirklich die mail rausschickt, auf die Daten in _POST verlässt, kannst Du Dir im Grunde die Validierung davor schenken.

                          Kommentar


                          • #14
                            Naja, in dem Fall nicht, weil er die Daten da schon in eine Tabelle einträgt. In Bezug auf die Email gesehen absolut richtig.

                            Webentwickler Mantra:

                            Ob ein Request nun durch Browseranfrage, Reload, über Ajax, hidden fields oder sonstwas geschieht: Jede Parametereingabe aus einem Request, die verarbeitet wird, muß vorher validiert werden.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #15
                              Zitat von nikosch Beitrag anzeigen
                              Naja, in dem Fall nicht, weil er die Daten da schon in eine Tabelle einträgt. In Bezug auf die Email gesehen absolut richtig.

                              Webentwickler Mantra:

                              Ob ein Request nun durch Browseranfrage, Reload, über Ajax, hidden fields oder sonstwas geschieht: Jede Parametereingabe aus einem Request, die verarbeitet wird, muß vorher validiert werden.

                              Hi

                              Aeh ... was sollte ich jetzt machen ?

                              Für jeden mailversand ein eigenes script in dem ich die mail "zusammenbastele" ?
                              Ich kann mir kaum vorstellen, ein sichereres script als phpmailer zustande zu bringen.
                              Außerdem laufen da ja keine hochkonspirativen Daten hin und her ...
                              btw.: Sind die Daten ja auch im email offen im Inet unterwegs, oder ?

                              Ich habe jetzt am Anfang des mailscripts (phpmailer-fe) eine Bedingung gesetzt, die eine Variable abfrägt, welche ich in allen Formularen setzte, die über den phpmailer versenden. Damit übernimmt das script nur Daten die aus meinen Formularen kommen ..(denke ich mir ... naiverweise ? )

                              PHP-Code:
                              if ( !isset($_POST["xy"]))
                                  {
                                    die(
                              "Got you");
                                  } 
                              lg
                              phpels

                              Kommentar

                              Lädt...
                              X