![]() |
![]() ![]() |
![]() |
![]()
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:
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ą:
-------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 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 ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
rozwiązanie: nie wysylaj podziekowan ![]() @nospor to się nieźle uchachałem ![]() 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? -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 452 Pomógł: 16 Dołączył: 25.05.2004 Skąd: Gorzów Wlkp. Ostrzeżenie: (0%) ![]() ![]() |
co lepsze boty przejdą generowane obrazki, dzisiaj jednak widziałem chyba obrazek nie do przejścia, moim zdaniem bardzo dobre rozwiązanie:
Na obrazku generujesz proste działanie matematyczne, np 13+22= a w polu formularza żądasz wyniku tego działania. Nie sądze aby było to jakoś specjalnie upierdliwe, dla dzisiejszego użytkownika internetu przpisywanie obrazków to codzienność, chociażby bramka sms w gadu ;p -------------------- \o/
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 242 Pomógł: 0 Dołączył: 14.03.2003 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
niezły pomysł z tym generatorem działań matematycznych.
pewnie za chwilę i takie zabezpieczenie będzie do przejścia, niestety... jest jeszcze jeden problem, mianowicie jeśli automat mimo wszystko obejdzie zabezpieczenia, to pozostaje kwestia zwrotów z serwerów, które odrzucą taką wiadomość będącą spamem. jak ustawić nagłówek Return-Path? A raczej jaki adres powinno się wpisać w nagłowek? czy utworzyć specjalną skrzynkę, na którą będą kierowane zwroty i maile do odbiorców nieistniejących w domenie, i tą skrzynkę ustawić w nagłówku Return-Path? Jakie jest powszechnie stosowane rozwiązanie? -------------------- www.mpps.pl
park maszynowy: apache 2.2.22 | php 5.4.0 | MySQL 5.0.10 | phpMyAdmin 3.5.0 | notepad ++ | pilsner urquell |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 472 Pomógł: 7 Dołączył: 7.12.2005 Skąd: Gliwice Ostrzeżenie: (0%) ![]() ![]() |
Podobna rzecz jest tutaj: Temat: klasa iqCaptcha 02
Też miewam spore problemy ze spamem - mam trzy podstawowe filtry: jeden sprawdza czy są linki w wysyłanej wiadomości (może dodawać tylko linki [safelink]url[/safelink]), drugi i trzeci zależne są od usera bądź czegoś "ponad" - są to bowiem ban na IP (mało skuteczne ze względu na zmienność IP, są jednak roboty na stałych IP) oraz filtr słów - ten uaktualniany jest moim autorskim skryptem, który cronem odpalany jest raz na tydzień - wszystkie wiadomości wysyłane z formularzy zapisywane są w bazie danych, następnie z panelu administracyjnego wybieram te, które są spamem; przepuszczam je przez filtr porównujący je między sobą i wybieram pierwszych dwadzieścia zwrotów, które wydają się być najbardziej spamerskie (to wszystko robi automat), zapisuje je do bazy zwrotów, następnie modowie analizują te zwroty i ewentualnie błędne wyrzucają. Skrypt, przez który przepuszczam formularze porównuje wprowadzone dane z bazą zwrotów. EDIT: Istnieje naturalnie tzw. "biała lista" zwrotów, które są wykluczane z porównań - typu "i", "a", "oraz", "patrz"... Ten post edytował cadavre 14.12.2006, 21:54:14 -------------------- Silesian PHP User Group - www.spug.pl
Symfony2, OAuth2, budowanie API - masz pytania? Pisz! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 15:07 |