Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> spam wysyłany poprzez formularz kontaktowy, zła deklaracja i inicjalizacja zmiennej w skrypcie
mpps
post
Post #1





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


Witam,
mam następujący problem:

Przygotowałem formularz kontaktowy, z którego pobierane są dane do zmiennych w celu przesłania wiadomości:

  1. <?php
  2. $site_email = "jakis@adres.email.net";
  3.  
  4. $header = "From: "adres wysylkowy" <".$site_email.">rn";
  5.  
  6. $header_other = "From: ".$osoba." <".$email.">rn"; //dane do zmiennych pobierane z formularza
  7.  
  8. if($send=="ok"){
  9. mail("$email",
  10. "podziekowania!",
  11. "tekst podziekowania",
  12. "$header");
  13.  
  14. mail("$site_email",
  15. "powiadomienie o kontakcie",
  16. "osoba: $osoba
  17. email: $email",
  18. "$header_other");
  19. }
  20. ?>


Problem polega na tym, iż okazało się, że formularz umożliwia wysyłanie spamu.
Mam informację, że błąd tkwi w złej deklaracji i inicjalizacji zmiennej header_other.
Jakie zmiany powinienem poczynić, aby skrypt stał się bezpieczny?

Formularz jest wysyłany metodą:
  1. <?php
  2. print('<FORM METHOD="POST" ACTION="index.php?id='.$id.'&send=ok" NAME="contact">');
  3. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 559
Pomógł: 6315
Dołączył: 27.12.2004




no ale formularz kontaktowy zazwyczaj sluzy do wysylania mailo do Ciebie, do Twojej firmy i to ty ustalasz do kogo ma isc mail, a nie uzytkownik. Czyzbys ty email do kogo ma isc ustawial gdzies na stronie?

edit:
a juz widze:
mail("$email",
"podziekowania!",
"tekst podziekowania",
"$header");

wysylasz podziekowania do tego co wysylal, co defacto prowadzi do tego ze mozna tam dowolny emali wsadzic. rozwiązanie: nie wysylaj podziekowan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
mpps
post
Post #3





Grupa: Zarejestrowani
Postów: 242
Pomógł: 0
Dołączył: 14.03.2003
Skąd: Szczecin

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


Cytat(nospor @ 13.12.2006, 17:19:04 ) *
rozwiązanie: nie wysylaj podziekowan (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


@nospor to się nieźle uchachałem (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
już to zastosowałem, jednak nie rozwiązuje to problemu.
doszedłem do tego, że pole, w które wpisywany jest adres e-mail powinienem sprawdzać pod kątem prawidłowo wpisywanego adresu tak, aby np. nie można było wysłać do wielu odbiorców podziękowania.

zastanawiam się nad zastosowaniem zabezpieczenia typu captcha (generowanie obrazka) lub dodatkowego potwierdzenia wysłania formularza. Jest to dodatkowa czynność, która może być trochę upierdliwa dla wysyłającego, no ale jak się inaczej pozbyć tego problemu?
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: 7.10.2025 - 12:45