Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wysyłanie wiadomości z formularza i SSL
Forum PHP.pl > Forum > PHP
michal21
Cześć, mam do was pytanie odnośnie zabezpieczania wysyłania danych z np. formularza na stronie.

Z tego co wiem najlepiej w tym celu jest użyć SSL, dlatego wybrałem w tym celu bibliotekę phpMailer.

Zrobiłem to tak:

w pliku PHP :
  1. <?php
  2. require("phpmailer/class.phpmailer.php");
  3. $mail = new PHPMailer();
  4.  
  5. $mail->PluginDir = "phpmailer/";
  6. $mail->From = "adres@mail.pl";
  7. $mail->FromName = "Autor maila";
  8. $mail->Mailer = "smtp";
  9. $mail->Username = "adres@mail.pl";  //login do konta SMTP
  10. $mail->Password = "haslo";  //hasło do konta SMTP
  11. $mail->IsSMTP();
  12. $mail->SMTPAuth = true;  
  13. $mail->SMTPSecure = "ssl";
  14. $mail->SetLanguage("pl", "phpmailer/language/");  //jezyk  
  15.  
  16. $mail->IsHTML(true);
  17. $mail->CharSet = "iso-8859-2";
  18.  
  19. $mail->Subject = "Tytul maila";  //tytul e-maila
  20. $mail->Body = "{tresc maila}".
  21.  
  22. $mail->AddAddress("jan@kowalski.pl","Jan Kowalski"); //adres odbiorcy odbiorcy
  23.  
  24. $mail->Send(); // wysylanie
  25. ?>



natomiast w pliku .htaccess wpisuje na samym poczatku:

Kod:

Kod
SSLOptions  StrictRequire
SSLRequireSSL
SSLRequire %{HTTP_HOST} eq "adres-strony.pl"
ErrorDocument 403 https://adres-strony.pl


Czy moja metoda jest prawidłowa? Poprzez formularz wysyłane będą dane osobowe. Jeśli coś robię źle bardzo bym prosił Was o pomoc co poprawić.

PS. Jeszcze zapytam, czy używając SSL istnieje możliwość przechwycenia takiego maila?
erix
Eeeee, mylisz bajki.

htaccess nie ma nic wspólnego z wysyłaniem maili.

Cytat
Cześć, mam do was pytanie odnośnie zabezpieczania wysyłania danych z np. formularza na stronie.

Nie ma sensu zabezpieczania połączenia z SMTP, gdyż nie musi być jedynym przekaźnikiem poczty. Listy wędrują przez wiele serwerów i nie wszystkie muszą mieć włączoną obsługę szyfrowania połączeń.

Cytat
PS. Jeszcze zapytam, czy używając SSL istnieje możliwość przechwycenia takiego maila?

Patrz: wyżej.

Jak już tak bardzo się boisz przechwycenia treści, zainteresuj się PGP/GPG.
michal21
aha... hm.... czyli na nic zda się to, ze "włączę" obsługę SSL poprzez .htaccess (wtedy strona uruchomi się jako https://...) ?

Tak ogólnie rzecz biorąc czy byście polecali wysyłanie maili poprzz SMTP ? bo poprzez zwykłą funkcję mail() raczej odpada...
viking
Jeśli wszystko będzie szło przez SSL to jak najbardziej. A to że chcesz przesyłać form również po szyfrowanym chwali się. Nawet znaleźć duże sklepy z takim "bajerem" jest ciężko. W dobie gmaila i innych zewnętrznych serwisów smtp to norma.
erix
Cytat
aha... hm.... czyli na nic zda się to, ze "włączę" obsługę SSL poprzez .htaccess (wtedy strona uruchomi się jako https://...) ?

Połączenie SMTP nie będzie zawsze szyfrowane.

Cytat
A to że chcesz przesyłać form również po szyfrowanym chwali się. Nawet znaleźć duże sklepy z takim "bajerem" jest ciężko.

Zależy jeszcze, co. Bo wszystkiego szyfrować nie ma sensu.
viking
Cytat(erix @ 22.07.2009, 15:30:30 ) *
Zależy jeszcze, co. Bo wszystkiego szyfrować nie ma sensu.

Formularze logowania i rejestracji powinny być ustawowo jakoś regulowane dla podmiotów gospodarczych smile.gif Jakiś czas temu GIODO przeprowadził kontrole i wynik był mizerny (później zrobił się jeszcze szum z naszą klasą to przynajmniej do niektórych dotarło jak łatwo mogą stracić dane).
A czemu nie dla całej strony? Narzut na obsługę kluczy przez serwer nie jest znowu taki wielki, na 64 bitach zwłaszcza, a odpada problem ciasteczek z flagą secure (kolejna sprawa o którą ludzie nie dbają).
erix
Cytat
A czemu nie dla całej strony? Narzut na obsługę kluczy przez serwer nie jest znowu taki wielki

Zdziwiłbyś się właśnie. Dlaczego np. mają być szyfrowane strony statyczne-publiczne i GFX dla strony?

Negocjacja połączenia SSL zżera sporo mocy, do tego - osiągane transfery są niższe. I tu nie ma znaczenia, czy 64, czy 32 bity - możesz mieć i kilobitową architekturę (biggrin.gif) - to nie ma znaczenia.

Zapraszam do lektury modelu ISO/OSI z omówieniem + specyfikacja SSL.

Cytat
a odpada problem ciasteczek z flagą secure (kolejna sprawa o którą ludzie nie dbają).

Problemy się rozwiązuje, a nie omija.
michal21
czyli reasumując co powinienem zmienić w moim kodzie aby było ok ?
erix
Reasumując lepiej napisz, co jest nie tak i co KONKRETNIE chcesz osiągnąć.
viking
Cytat(erix @ 22.07.2009, 16:08:22 ) *
Zdziwiłbyś się właśnie. Dlaczego np. mają być szyfrowane strony statyczne-publiczne i GFX dla strony?

Strony statyczne, obrazki itp choćby ze względu na politykę nagłówków powinny być serwowane ze static.costam.tld.

Cytat(erix @ 22.07.2009, 16:08:22 ) *
Negocjacja połączenia SSL zżera sporo mocy, do tego - osiągane transfery są niższe. I tu nie ma znaczenia, czy 64, czy 32 bity - możesz mieć i kilobitową architekturę (biggrin.gif) - to nie ma znaczenia.

Przy ciągle zwiększającej się mocy procesorów (czy nawet już jakieś coraz bardziej udane próby dłuższego działania procesorów kwantowych) bezpieczeństwo wygrywa. Co do 64 bitów - no nie żartuj. Masz pierwszy z brzegu link http://www.mips.com/media/files/white-pape...eds%20RSA4x.pdf , dokumenty intela to też ciekawa lektura, nie chce mi się szukać teraz.

Cytat
Problemy się rozwiązuje, a nie omija.

Tzn? Albo masz SSL, albo nie masz. W jaki sposób to niby omija problem?
erix
Cytat
Strony statyczne, obrazki itp choćby ze względu na politykę nagłówków powinny być serwowane ze static.costam.tld.

Ale większość tego po prostu nie robi. A szkoda.

Cytat
Przy ciągle zwiększającej się mocy procesorów (czy nawet już jakieś coraz bardziej udane próby dłuższego działania procesorów kwantowych) bezpieczeństwo wygrywa

Kwantowych? Jeszcze dużo wody w Wiśle upłynie. IE8 już jest finalne, a nie wszyscy go mają. tongue.gif

Cytat
Tzn? Albo masz SSL, albo nie masz. W jaki sposób to niby omija problem?

Bo wszystko do jednego wora wrzucasz. Ale ze static - już ok.
michal21
Cytat(erix @ 22.07.2009, 17:20:53 ) *
Reasumując lepiej napisz, co jest nie tak i co KONKRETNIE chcesz osiągnąć.


no ogólnie bym chciał abyście przejrzeli kod, który wrzuciłem i powiedzieli czy jest bezpieczny, lub jeśli można go bardziej udoskonalić to to napisać, byłbym bardzo wdzięczny pomoc
erix
Audyt bezpieczeństwa jest usługą, zapraszam na giełdę ofert.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.