Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]bezpieczny formularz kontaktowy w PHP, szukam formularza odpornego na spamerow
gariz
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 7.06.2007

Ostrzeżenie: (0%)
-----


ostatnimi czasy hosting wylaczyl mi strone bo frmularz kontaktowy byl lakomym kaskiem dla spamerow i z mojego konta zaczely wychodzic spamerskie maile.

kod pobralem ze strony http://www.kess.snug.pl/?sid=10&pid=17

niestety w zaistnialej sytuacji musze z niego zrezygnowac - czy mozecie mi pomoc w znalezieniu biblioteki ktora bylaby odporniejsza na w/w ataki??
na coderscity.pl dowiedzialem sie juz ze najlepiej zeby byl to czysty php lub php+mysql

znalazlem cos takiego http://swiftmailer.org/ ale nie moge sobie z nim poradzic ;/ moze jakis prostszy bylby ok??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gariz
post
Post #2





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 7.06.2007

Ostrzeżenie: (0%)
-----


dzieki.

a co powiecie o takim zestawie??
  1. <?php header('Content-type: text/html; charset=ISO-8859-2');?>
  2. <?php
  3. require("phpmailer/class.phpmailer.php");
  4. //$adres=$_POST['adres'];
  5. $tresc = $_POST['tresc'];
  6. $nick = $_POST['nick'];
  7. $tel = $_POST['tel'];
  8. $kontakt = $_POST['kontakt'];
  9. $mail = new PHPMailer();
  10.  
  11. $mail->IsSMTP();
  12. //tu zmie_ // set mailer to use SMTP
  13. $mail->Host = "mail.hhh.com"; // tutaj wpisujesz adres do serwera smtp
  14. $mail->SMTPAuth = true; // turn on SMTP authentication
  15.  
  16. $mail->Username = "www@nus.com"; // SMTP username
  17. $mail->Password = "yyyy"; // SMTP password
  18.  
  19. $mail->From = "www@jjjnus.com"; //tutaj adres meilowy
  20. $mail->FromName = "www"; //_e od kogo ma by_ ten mail
  21. //$mail->AddAddress($adres); //do kogo ma by_ wys_any pobiera z formularza
  22. $mail->AddAddress("garizzz@hh.com"); // name is optional
  23. $mail->AddReplyTo($kontakt);
  24. //$mail->AddReplyTo("info@example.com");
  25. /*
  26. $mail->WordWrap = 50; // set word wrap to 50 characters
  27. $mail->AddAttachment("/var/tmp/file.tar.gz"); // add attachments
  28. $mail->AddAttachment("/tmp/image.jpg", "new.jpg"); // optional name
  29. */
  30. $mail->IsHTML(true); // set email format to HTML
  31.  
  32. $mail->Subject = "Kontakt ze strony www"; //temat meila
  33. $mail->Body = $nick . " napisał: <br>" . $tresc . "<br>Dane kontaktowe:<br>" . "Adres mailowy: " . $kontakt . "<br>Telefon: " . $tel; //tres_ meila pobiera tak_e z formularza
  34. $mail->AltBody = "Wiadomość jest w formacie HTML - Twój klient poczty nie potrafi jej wyświetlić.";
  35.  
  36. //{ Wype_nij wszystkie pola formularza!
  37. // echo "Message could not be sent. <p>";
  38. // echo "Mailer Error: " . $mail->ErrorInfo;
  39. // exit;
  40. //}
  41.  
  42. if (!empty($_POST['tresc']) && !empty($_POST['kontakt']) && !empty($_POST['tel'])) {
  43. if(!$mail->Send())
  44. {echo '<div id="error">Wysłanie wiadomości niemożliwe</div>' . $mail->ErrorInfo; exit;}
  45. echo '<div id="ok">Wiadomość została wysłana poprawnie!</div>';}
  46. else echo '<div id="error">Wypełnij wszystkie pola formularza!</div>';
  47. ?>


i formularz
  1. <!--<body>
  2. <form action="sent.php" method="post">
  3. <input type="text" name="adres" value="tutaj adres"><br>
  4. <textarea type="text" name="tresc" value="tresc listu"></textarea><br>
  5. <input type="submit" value="wyslij"></form>-->
  6.  
  7.  
  8. <form action="skrypty/sent.php" method="POST">
  9. <b>Tre__ wiadomo_ci</b><br>
  10. <textarea name="tresc" style="width: 250px; height: 100px"></textarea>
  11.  
  12. <b>Imi_, nazwisko lub nick</b><br>
  13. <input type="text" name="nick" size=40>
  14.  
  15. <p><b>Twoj adres e-mail</b><br>
  16. <input type="text" name="kontakt" size=40>
  17.  
  18. <p><b>Twój numer telefonu (opcja)</b><br>
  19. <input type="text" name="tel" style="width: 250px">
  20.  
  21. <p><input type="submit" value=" Wy_lij ">
  22. <input type="reset" value=" Od nowa "></td>
  23. </form>
moglbym prosic o wypowiedz co do bezpieczenstwa tego skryptu na bazie phpmailer/class.phpmailer.php??


i jeszcze takie jedno pytanko - komunikat wyslano czy nie wyslano maila pojawia sie na nowej czystej stronie. jak zrobic zeby komunikat pojawil sie we wnetrzu strony. formularz jest osadzony wewnatrz strony przez INCLUDE. Poprzedni niebezpieczny skrypt wyswietlal komunikat bez odswiezania calej strony przez co informacja byla widoczna i osadzona zgodnie z skorka strony.

Ten post edytował gariz 9.01.2010, 12:39:46
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.11.2025 - 00:07