Kontaktformular mit Sicherheitsrechnung!

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Kontaktformular mit Sicherheitsrechnung!

    Hallo,

    ich habe mir ein Kontaktformular geschrieben mit einer Sicherheitsrechnung. Aber Leider kommt keine Errormessage wenn ich den Code falsch eingegeben habe.

    So wie ich es mir gedacht habe ist es so das die "Errormessage" die ganze Zeit angezeigt wird. Auch wenn ich noch nix gestartet habe sofort bei Aufrufs des Skripts ist sie da!

    Könnt ihr mir veraten warum? Die richtige stelle sollte es doch sein wo ich es hingebaut habe oder?

    Quellcode

    1. <?php
    2. session_start();
    3. function encrypt($string, $key) {
    4. $result = '';
    5. for($i=0; $i<strlen($string); $i++) {
    6. $char = substr($string, $i, 1);
    7. $keychar = substr($key, ($i % strlen($key))-1, 1);
    8. $char = chr(ord($char)+ord($keychar));
    9. $result.=$char;
    10. }
    11. return base64_encode($result);
    12. }
    13. $sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
    14. $sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
    15. if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
    16. $deinemail = "gfxshorty@googlemail.com";
    17. $name = $_POST['name'];
    18. $email = $_POST['email'];
    19. $text = $_POST['text'];
    20. if(!$_POST["status"]=="") {
    21. if(!$_POST['text']=="") {
    22. $nachricht = "Email von ".$name."\n".
    23. "Name: ".$name."\n".
    24. "Email: ".$email."\n".
    25. "Text: ".$text;
    26. $subject = "$cat";
    27. $nachricht1 = $email."\n\n".$nachricht;
    28. mail($deinemail,$subject,$nachricht1,"FROM: ".$email);
    29. echo ("<div style=\"text-align: center;\">Eingetragen</div>");
    30. }
    31. }
    32. }
    33. else {
    34. echo Errormessage; //Meine Idee die leider nicht richtig funktioniert.
    35. }
    36. ?>
    Alles anzeigen
    --Kommt noch--
  • Naja, es liegt ja sicherlich an einer der Variablen $_SESSION['rechen_captcha_spam'] oder $_SESSION['rechen_captcha_spam'].
    Lass dir die beiden doch einfach mal vorher ausgeben und schau ob du da nicht vielleicht einen Tippfehler drin hast. Vielleicht liegt der Fehler auch vorher, denn woher kommt denn rechen_captcha_spam ? das ist hier nicht wirklich ersichtlich...

    Oder poste uns einfach alle Dateien, die damit zu tun haben.

    bye
  • Hier die rechen-captcha.php

    Quellcode

    1. <?php
    2. session_start();
    3. unset($_SESSION['rechen_captcha_spam']);
    4. $zahl1 = rand(10,20); //Erste Zahl 10-20
    5. $zahl2 = rand(1,10); //Zweite Zahl 1-10
    6. $operator = rand(1,2); // + oder -
    7. if($operator == "1"){
    8. $operatorzeichen = " + ";
    9. $ergebnis = $zahl1 + $zahl2;
    10. }else{
    11. $operatorzeichen = " - ";
    12. $ergebnis = $zahl1 - $zahl2;
    13. }
    14. function encrypt($string, $key) {
    15. $result = '';
    16. for($i=0; $i<strlen($string); $i++) {
    17. $char = substr($string, $i, 1);
    18. $keychar = substr($key, ($i % strlen($key))-1, 1);
    19. $char = chr(ord($char)+ord($keychar));
    20. $result.=$char;
    21. }
    22. return base64_encode($result);
    23. }
    24. $_SESSION['rechen_captcha_spam'] = encrypt($ergebnis, "29jfkd921"); //Key
    25. $_SESSION['rechen_captcha_spam'] = str_replace("=", "", $_SESSION['rechen_captcha_spam']);
    26. $rechnung = $zahl1.$operatorzeichen.$zahl2." = ?";
    27. $img = imagecreatetruecolor(80,15);
    28. $schriftfarbe = imagecolorallocate($img,13,28,91);
    29. $hintergrund = imagecolorallocate($img,162,162,162);
    30. imagefill($img,0,0,$hintergrund);
    31. imagestring($img, 3, 2, 0, $rechnung, $schriftfarbe);
    32. header("Content-type: image/png");
    33. imagepng($img);
    34. imagedestroy($img);
    35. ?>
    Alles anzeigen
    --Kommt noch--
  • Hmm ist doch oder nicht ?

    Datei B:

    Quellcode

    1. <?php
    2. session_start();
    3. unset($_SESSION['rechen_captcha_spam']);
    4. $zahl1 = rand(10,20); ; font-style: italic;">//Erste Zahl 10-20
    5. $zahl2 = rand(1,10); ; font-style: italic;">//Zweite Zahl 1-10
    6. $operator = rand(1,2); ; font-style: italic;">// + oder -
    7. if($operator == "1"){
    8. $operatorzeichen = " + ";
    9. $ergebnis = $zahl1 + $zahl2;
    10. }else{
    11. $operatorzeichen = " - ";
    12. $ergebnis = $zahl1 - $zahl2;
    13. }
    14. function encrypt($string, $key) {
    15. $result = '';
    16. for($i=0; $i<strlen($string); $i++) {
    17. $char = substr($string, $i, 1);
    18. $keychar = substr($key, ($i % strlen($key))-1, 1);
    19. $char = chr(ord($char)+ord($keychar));
    20. $result.=$char;
    21. }
    22. return base64_encode($result);
    23. }
    24. $_SESSION['rechen_captcha_spam'] = encrypt($ergebnis, "29jfkd921"); ; font-style: italic;">//Key
    25. $_SESSION['rechen_captcha_spam'] = str_replace("=", "", $_SESSION['rechen_captcha_spam']);
    26. $rechnung = $zahl1.$operatorzeichen.$zahl2." = ?";
    27. $img = imagecreatetruecolor(80,15);
    28. $schriftfarbe = imagecolorallocate($img,13,28,91);
    29. $hintergrund = imagecolorallocate($img,162,162,162);
    30. imagefill($img,0,0,$hintergrund);
    31. imagestring($img, 3, 2, 0, $rechnung, $schriftfarbe);
    32. header("Content-type: image/png");
    33. imagepng($img);
    34. imagedestroy($img);
    35. ?>
    Alles anzeigen


    Datei A:

    Quellcode

    1. <?php
    2. session_start();
    3. function encrypt($string, $key) {
    4. $result = '';
    5. for($i=0; $i<strlen($string); $i++) {
    6. $char = substr($string, $i, 1);
    7. $keychar = substr($key, ($i % strlen($key))-1, 1);
    8. $char = chr(ord($char)+ord($keychar));
    9. $result.=$char;
    10. }
    11. return base64_encode($result);
    12. }
    13. $sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
    14. $sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
    15. if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
    16. $deinemail = "gfxshorty@googlemail.com";
    17. $name = $_POST['name'];
    18. $email = $_POST['email'];
    19. $text = $_POST['text'];
    20. if(!$_POST["status"]=="") {
    21. if(!$_POST['text']=="") {
    22. $nachricht = "Email von ".$name."\n".
    23. "Name: ".$name."\n".
    24. "Email: ".$email."\n".
    25. "Text: ".$text;
    26. $subject = "$cat";
    27. $nachricht1 = $email."\n\n".$nachricht;
    28. mail($deinemail,$subject,$nachricht1,"FROM: ".$email);
    29. //session_start();
    30. echo ("<div style=\"text-align: center;\">Eingetragen</div>");
    31. }
    32. }
    33. }
    34. else {
    35. //session_start();
    36. echo Errormessage; ; font-style: italic;">//Meine Idee die leider nicht richtig funktioniert.
    37. }
    38. ?>
    Alles anzeigen


    Oder soll ich vor jedes ein Sasison start bauen? bsp wie kommentrate oben!
    --Kommt noch--
  • Wie Donut es schon geschrieben hat
    einfach das session_start in deine /index.php Datei schreiben und schon müsste es gehen wenn ich mich nich verlesen habe ^^

    OffTopic:
    das mit deinem ?content hast du leider schlecht realisiert

    denn du kannst per ?content=index die Seite selbst nochmal laden und dadurch haste eigentlich eine Sicherheits lücke

    jedoch kann man bei deinem Script zum Glück keine php dateien von anderen Server includen ^^