Ankündigung

Einklappen
Keine Ankündigung bisher.

Factory Netform Captcha

Einklappen

Neue Werbung 2019

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

  • Factory Netform Captcha

    Hallo

    Habe ein kleines Problem beim Kontaktformular von Factory Netform - die gibts nicht mehr, daher auch kein Support mehr.

    Wie kann ich in das Teil ein Captcha einbauen? Alle Versuche sind bisher gescheitert.

    Hiermal die index.php
    Code:
    <div class="kontakt">
    <form method="post" action="danke.php" enctype="multipart/form-data">
    
    <label for="req_Anrede">Anrede*</label>
            <select name="req_Anrede">
            <option value="">Bitte wähle</option>
            <option value="Herr">Herr</option>
            <option value="Frau">Frau</option>
            </select>
    <br />
    <label for="reqchr_Vorname">Vorname:*</label> <input type="text" name="reqchr_Vorname" size="40">
    <br />
    <label for="reqchr_Name">Name:*</label> <input type="text" name="reqchr_Name" size="40">
    <br />
    <label for="reqmail_eMail">E-Mail:*</label><input type="text" name="reqmail_eMail" size="40">
    <br />
    <label for="req_Betreff">Betreff:*</label><input type="text" name="req_Betreff" size="40">
    <br />
    <br />     
    <hr />
    <br />   
    <label for="req_Betreff">Nachricht:*</label><textarea name="req_Nachricht" cols="25" rows="5" wrap="physical"></textarea>
    <br />
    <label for="file_datei">Datei mitschicken:</label><input name="file_datei" type="file" size="30" />
    
    <br />
    <div class="center"><input type="reset" name="reset" value="Eingabe löschen">
      &nbsp;&nbsp;&nbsp;&nbsp;<input type="submit" name="submit" value="Nachricht senden"><br />
    <br />
    <div class="klein"><?php
     echo "Ihre aktuelle IP-Adresse.: <b>".$_SERVER["REMOTE_ADDR"]."</b>";
    ?></div>
      </div></div>
    </form>
    die config.php
    PHP-Code:
    <?php
    /*
    ================================================================================
    -                   factory netFORM 2.0.1 - Konfiguration                      -
    -                   -------------------------------------                      -
    - Bitte lesen Sie das Hanbuch                                                   -
    - Dort stehen alle nötigen Informationen zum Einrichten des FormularMailers    -
    ================================================================================
    */

    $error->field      '<b>Folgende Felder sind Pflichtangaben:</b>';
    $error->entry      '<b>Fehler bei der Eingabe:</b>';
    $error->flooding   'Das Formular wurde versucht mehrmals vom gleichen Absender zu verschicken';
    $error->post       'Das Formular wurde nicht mit der Post-Methode übertragen';

    $error->mail       '<i>[key]</i>: Die angegebene Email-Adresse ist nicht gültig';
    $error->letter     '<i>[key]</i>: Dieses Feld darf nur Buchstaben enthalten';
    $error->nums       '<i>[key]</i>: Dieses Feld darf nur Ziffern enthalten';
    $error->data       '<i>[key]</i>: hat ein nicht zulässiges Dateiformat';

    $error->file       'vorlagen/error.htm';
    $success           'vorlagen/okay.htm';

    $tempdir           '';                          //Der Pfad zum temporären Verzeichnis, wo files
                                                    //zwischengespeichert werden. Ohne Slash am Ende angeben.
                                                     //Dieses Verzeichnis muss auf chmod 777 gesetzt werden.

    $sendfile          'vorlagen/test.pdf';      //Der Pfad zur Datei, die versendet werden soll.

    $attach->filter    '.doc,.vbs,.exe,.bat';

    $rec['name'][1]    = 'styling factory';
    $rec['mail'][1]    = 'info@stylingfactory.de';

    /*
    $rec['name'][2]    = '';
    $rec['mail'][2]    = '';
    */

    $referer[1]        = 'localhost';

    $referlog          'flood.txt';

    $timespan          1;

    $mail->mail        'vorlagen/mail.txt';
    $mail->answer      'vorlagen/sender.txt';

    /*
    ================================================================================
    - HINWEIS: Sollten einige Einstellungsmöglichkeiten unklar sein,               -
    - dann lesen Sie bitte im Handbuch nach.                                       -
    - ---------------------------------------------------------------------------- -
    - Bei Problemen wenden Sie sich bitte an info@stylingfactory.de                -
    -                                                                              -
    -                                        (c)opyright 2002-2003 styling factory -
    ================================================================================
    */
    ?>
    und die netform.php
    PHP-Code:
    <?php
    // evtl. den include-pfad für die config.php anpassen, falls die config verschoben wird

    if(!$get = @include("config.php")){
        echo 
    "Konnte Konfig-Datei nicht öffnen. Bitte Namen und Pfad kontrollieren!";
    die;}

    // ab hier bitte nichts mehr ändern | please don't edit the lines below
    $version 'factory netFORM 2.0.2';
    @
    reset ($HTTP_POST_VARS);
    $ferr check_post($HTTP_POST_VARS);

    if(
    $ferr == "post"){
        echo 
    $error->post;}


    if(!
    $ferr){
    $error_msg $error_blank "";
    $vars get_vars($HTTP_POST_VARS,$HTTP_POST_FILES,$tempdir);
    ref($referer,$serial,$HTTP_REFERER);
    while(list(
    $key,$val) = each($vars)){
    $val trim($val);

    if(
    eregi("^num_",$key)){
    if(
    check_nums($val) == "error"){
    $error_msg .= str_replace("[key]",preg_replace("/num_/i","",$key),$error->nums)."<br>";}
    }
    if(
    eregi("^chr_",$key)){
    if(
    check_chars($val) == "error"){
    $error_msg .= str_replace("[key]",preg_replace("/chr_/i","",$key),$error->letter)."<br>";}
    }
    if(
    eregi("^mail_",$key)){
    $from_mail $val;
    if(
    $val && !ereg('.@.{5}',$val)){
    $error_msg .= str_replace("[key]",preg_replace("/mail_/i","",$key),$error->mail)."<br>";}
    }
    if(
    eregi("^file_",$key)){
    $filt split(",",$attach->filter);
      if(
    $val){
        for(
    $i=0;$i<count($filt);$i++){
        if(
    preg_match("/".$filt[$i]."/i",$val)){
        
    $error_msg .= str_replace("[key]",preg_replace("/file_/i","",$key),$error->data)."<br>";}
        }
      }
    }

    else if(
    eregi("^req_",$key)){
    if(!
    $val){
    $error_blank .= preg_replace("/req_|req_/i","",$key)."<br>";}
    }
    if(
    eregi("^reqnum_",$key) || eregi("^numreq_",$key)){
        if(
    check_nums($val) == "error"){
        
    $error_msg .= str_replace("[key]",preg_replace("/reqnum_|numreq_/i","",$key),$error->nums)."<br>";}
        else if(!
    $val){
        
    $error_blank .= preg_replace("/reqnum_|numreq_/i","",$key)."<br>";}
    }

    if(
    eregi("^reqchr_",$key) || eregi("^chrreq_",$key)){
        if(
    check_chars($val) == "error"){
        
    $error_msg .= str_replace("[key]",preg_replace("/reqchr_|chrreq_/i","",$key),$error->letter)."<br>";}
        else if(!
    $val){
        
    $error_blank .= preg_replace("/reqchr_|chrreq_/i","",$key)."<br>";}
    }

    if(
    eregi("^reqmail_",$key) || eregi("^mailreq_",$key)){
    $from_mail $val;
        if(
    $val && !checkmail($val)){
        
    $error_msg .= str_replace("[key]",preg_replace("/reqmail_|mailreq_/i","",$key),$error->mail)."<br>";}
        else if(!
    $val){
        
    $error_blank .= preg_replace("/reqmail_|mailreq_/i","",$key)."<br>";}
    }

    if(
    eregi("^reqfile_",$key) || eregi("^filereq_",$key)){
    $filt split(",",$attach->filter);
             if(
    $val){

        for(
    $i=0;$i<count($filt);$i++){
        if(
    preg_match("/".$filt[$i]."/i",$val)){
        
    $error_msg .= str_replace("[key]",preg_replace("/reqfile_|filereq_/i","",$key),$error->data)."<br>";}
        }
             }
             if(!
    $val || $val == "none"){
             
    $error_blank .= preg_replace("/reqfile_|filereq_/i","",$key)."<br>";}
             }
    }

    if(
    $error_blank || $error_msg){
    $fl = @fopen($error->file,"r");
    $msg = @fread($flfilesize($error->file));
    @
    fclose($fl);
    if(
    $error_blank){
    $error_blank $error->field."<br>".$error_blank;}
    if(
    $error_msg){
    $error_msg "<p>".$error->entry."<br>$error_msg</p>";}


    $msg str_replace("[req_error]",$error_blank,$msg);
    $msg str_replace("[ent_error]",$error_msg,$msg);

    echo 
    $msg;
    }}


    if(!
    $error_blank && !$error_msg){

    if(!
    $vars[template]){
    $ref_id date("Ymd")."-";
    @
    reset ($vars);
    $err FloodProtect($referlog,$REMOTE_ADDR,$timespan);

    if(
    $err == "flooding"){
        echo 
    $error->flooding;}

    else{
    $ref_id .= $err;
    $fl = @fopen($success,"r");
    $conts = @fread($flfilesize($success));
    @
    fclose($fl);
    echo 
    convert_tpl($conts,$vars,$ref_id,$REMOTE_ADDR);

    //mail_text read
    $fmail = @join ('',@file($mail->mail));
    reset($vars);
    $fmail convert_mail($fmail,$vars,$ref_id,$REMOTE_ADDR);
    $sub = @preg_match_all("/subject:(.*)\n/i",$fmail,$subject);
    $fmail =@preg_replace("/subject:(.*)\n/i","",$fmail);
    $i=1;
    $smail = new mime();
    while(
    $i <= sizeof($rec['mail'])){
    $smail->mime_mail();
    $smail->subject trim(str_replace("Subject:","",$subject[0][0]));
    $smail->body $fmail;
    reset($vars);
    while(list(
    $key,$val) = each($vars)){
    if((@
    preg_match("/^(reqfile_|filereq_)/i",$key) || @preg_match("/^file_/i",$key)) && $val != "none"){
    $fil split(":",$val);
    if(
    $fil[0]){
    $attachment fread(fopen($tempdir."/".$fil[0],"rb"),filesize($tempdir."/".$fil[0]));
    @
    unlink($tempdir."/".$fil[0]);
    $smail->add_attachment($attachment,$fil[0],$fil[1]);
    }}}
    $smail->from    $from_mail;
    $smail->headers "X-Mailer: $version";
    $smail->to $rec['mail'][$i];
    $smail->send();
    $i++;}


    $amail = @join ('',@file($mail->answer));
    reset($vars);
    $amail convert_mail($amail,$vars,$ref_id,$REMOTE_ADDR);
    $sub = @preg_match_all("/subject:(.*)\n/i",$amail,$subject);
    $amail =@preg_replace("/subject:(.*)\n/i","",$amail);
    reset($vars);
    while(list(
    $name,$val) = each($vars)){
    if(@
    preg_match("/(mail|reqmail|mailreq)_(.*)/i",$name)){
        if(
    trim($val)){

    $tmail = new mime(); $tmail->mime_mail();
    $tmail->subject trim(str_replace("Subject:","",$subject[0][0]));
    $tmail->body $amail;
    //get attach
    if($attachfile){
    $tattach fread(fopen($sendfile,"rb"),filesize($sendfile));
    $tmail->add_attachment($tattach,basename($sendfile),"*/*");
    }
    //end attach
    $tmail->from    $rec['name'][1]." <".$rec['mail'][1].">";
    $tmail->headers "X-Mailer: $version";
    $tmail->to $val;
    $tmail->send();
        }
    }
    //end read text

    }}
    }else{

    $fl fopen($vars[template],"r");
    $content fread($fl,filesize($vars[template]));
    fclose($fl);

    $content stripcslashes($content);

    reset($vars);$preforms "";
    while(list(
    $hid,$va) = each($vars)){
    if(
    $hid != "template"){
    $preforms .= "<input type=\"hidden\" name=\"$hid\" value=\"$va\">";
    }}

    $content str_replace("</form>",$preforms."</form>",$content);
    }
    //echo $content;
    echo convert_tpl($content,$vars,$ref_id,$REMOTE_ADDR);
    }


    function 
    get_vars($postvars,$filevars,$tempdir){

    while(list(
    $key,$var) = each($postvars)){
    $vars[$key] = htmlspecialchars(trim($var));
    }
    while(list(
    $key,$var) = each($filevars)){
    $vars[$key] = $var[name].":".$var[type];
    @
    copy($var[tmp_name],$tempdir."/".$var[name]);
    }
    return 
    $vars;}


    function 
    check_post($postvars){

    if(empty(
    $postvars)){
    $err "post";
    }

    return 
    $err;}


    function 
    ref($referer,$serial,$ref){

    $tt "(";
    for(
    $i=1;$i<=count($referer);$i++){
    $tt .= ".".$referer[$i].".|".$referer[$i];
    if(
    $i count($referer)){
    $tt .= "|";                 }

    }
    $tt .= ")";
     if(!@
    eregi($tt,$ref)){
        echo 
    "Zugriff verweigert<br>
        
    $ref";
     die;}
    echo 
    "<!-- $serial .:FormMail PRO:. -->";
    }

    function 
    FloodProtect($file,$ip,$time){
    $savenew FALSE;
    if(
    file_exists($file)){
    $fp = @fopen($file,"r");
    $i=0;
    while (!
    feof($fp)) {
        
    $line[$i] = trim(fgets($fp,100000));
    $i++;}
    @
    fclose($fp);

    $check split(",",$line[0]);
    $err "".($check[sizeof($check)-1]+1)."";
    $err str_pad($err,3,"0"STR_PAD_LEFT);
    if(@
    preg_match_all("/(($ip),(\d*))/i",$line[1],$compair)){
    $comp split(",",$compair[1][0]);

    if((
    time()-$comp[1]) < $time){
    $err "flooding";}
    else{
    $line[1] = @preg_replace("/$ip,".$comp[1]."/i","$ip,".time(),$line[1]);
    $line[0] .= ",$err";
    $savenew TRUE;}
    }
    else if(!@
    preg_match_all("/$ip/i",$line[1])){{
    $line[1] .= ",$ip,".time();}
    $line[0] .= ",$err";
    $savenew TRUE;
    }
    if(
    $check[0] < date("Ymd")){
        
    $err "001";
    $line[0] = date("Ymd").",$err";
    $savenew TRUE;}

    }else{
    $err "001";
    $line[0] = date("Ymd").",$err";
    $line[1] = $ip.",".time();
    $savenew TRUE;
    }

    if(
    $savenew){
    $fp = @fopen($file,"w");
    @
    fputs($fp,$line[0]."\n".$line[1]);
    @
    fclose($fp);}
    @
    chmod ($file,0700);
    return 
    $err;}


    function 
    check_nums($field){

    if(
    eregi("([a-z])",$field)){
        
    $err="error";}

    return 
    $err;}


    function 
    check_file($field,$filter){

    if(
    eregi("([a-z])",$field)){
        
    $err="error";}

    return 
    $err;}


    function 
    check_chars($field){

    if(
    eregi("([0-9|!-?])",$field)){
        
    $err="error";}

    return 
    $err;}
    class 
    mime
     
    {
     var 
    $parts;
     var 
    $to;
     var 
    $from;
     var 
    $headers;
     var 
    $subject;
     var 
    $body;
     function 
    mime_mail(){
      
    $this->parts = array();
      
    $this->to =  "";
      
    $this->from =  "";
      
    $this->subject =  "";
      
    $this->body =  "";
      
    $this->headers =  "";
      }
     function 
    add_attachment($message$name$ctype,$encode "base64"){
     
    $this->parts[] = array ("ctype" => $ctype,"message" => $message,"encode" => $encode,"name" => $name);
     }
    function 
    build_message($part){
     
    $message $part["message"];
     if(
    $part["encode"] == "base64"){
     
    $message chunk_split(base64_encode($message));
     }
     
    $encoding =  $part["encode"];
     return  
    "Content-Type: ".$part"ctype"]."; ".
                            (
    $part"name"]? " name = \"".$part"name"]. "\"" :  "").
                             
    "\nContent-Transfer-Encoding: $encoding\n\n$message\n";
     }
    function 
    build_multipart(){
     
    $boundary =  "----=_NextPart_FNF_".md5(uniqid(time()));
     
    $multipart =  "From: ".$this->from."\n";
     
    $multipart .=  "Content-Type: multipart/mixed; boundary = \"$boundary\"\n\nThis is a MIME encoded message.\n\n--$boundary";
     for(
    $i sizeof($this->parts)-1$i >= 0$i--)
        {
        
    $multipart .=  "\n".$this->build_message($this->parts[$i]). "--$boundary";
        }
     return 
    $multipart.=  "--\n";
     }
    function 
    send(){
     
    $mime =  "";
     if (!empty(
    $this->body))
        
    $this->add_attachment($this->body,  "",  "text/plain","quoted-printable");
     
    $mime .=  $this->headers."\n";
     
    $mime .=  "MIME-Version: 1.0\n".$this->build_multipart();
         @
    mail($this->to$this->subject""$mime);
     }
    };

    function 
    checkmail($email) {
    if (
    eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-z]{2,5}$"$email$check)) { 
    return 
    true;
    }
    return 
    false;
    }

    function 
    convert_mail($text,$vars,$id,$referer){
    reset($vars);
    while(list(
    $key,$val) = each($vars)){
    $text = @preg_replace("/\[$key\]/i",$val,$text);
    }
    $text = @preg_replace("/\[referenz\]/i",$id,$text);

    $text = @preg_replace("/\[ip\]/i",$referer,$text);
    $text = @preg_replace("/\[date\]/i",date("d.m.Y"),$text);
    $text = @preg_replace("/\[time\]/i",date("H:i:s"),$text);

    $text = @preg_replace("/\[!(.*)(\d*\.?\d*)(.*)!\]/e","\\1",$text);

    return 
    $text;}

    function 
    convert_tpl($string,$vars,$id,$referer){
    @
    reset($vars);
    while(list(
    $key,$val) = @each($vars)){
    $string = @preg_replace("/\[$key\]/i",$val,$string);
    }
    $string = @preg_replace("/\[referenz\]/i",$id,$string);

    $string = @preg_replace("/\[ip\]/i",$referer,$string);
    $string = @preg_replace("/\[date\]/i",date("d.m.Y"),$string);
    $string = @preg_replace("/\[time\]/i",date("H:i:s"),$string);

    $string = @preg_replace("/\[!(.*)(\d*\.?\d*)(.*)!\]/e","\\1",$string);
    return 
    $string;}

    ?>
    wäre nett wenn mir dabei einer helfen könnten

    DANKE schonmal


  • #2
    Bitte zeig deine Versuche, den relevanten Code und das konkrete Problem oder stell das Posting als Gesuch ins entsprechende Forum.
    "Mein Name ist Lohse, ich kaufe hier ein."

    Kommentar


    • #3
      Ich wollte das Bsp. von Zahlen Captcha PHP Script - Captcha Tutorial - stoppt-den-spam.info einbauen irgendwie geht das aber nicht es kommt auch keine Fehlermeldung

      Kommentar


      • #4
        Stell das Error-Reporting hoch.
        "Mein Name ist Lohse, ich kaufe hier ein."

        Kommentar

        Lädt...
        X