Autor Zpráva
tomatin
Profil *
Zdravím ,

Mám na webu klasický jednoduchý formulář, který se přes funkci mail() odesílá na zadanou emailovou adresu. Poslední tři měsíce se stává, že nějaký robot (nebo vir, nebo spamer) se snaží pravděpodobně bombardovat konkrétní adresu (možná doménu): například battsl1005@aol.com protože do položek vyplňuje nesmyslné údaje a přidává text:

bcc: battsl1005@aol.com

Sice jsem provedl určitý stupeň filtrace, ale stejně z toho nemám dobrej pocit - nehledě na to že mi to chodí do emailu, sice s prefixem SPAM takže si to jednoduše odfiltruju, ale štve mě to.

Setkal jste se s tím někdo a jak to nejelegantněji vyřešit ?

Díky za odpovědi

Miroslav Vávra
Yuhů
Profil
elegantní řešení znamená pracné řešení. Jsou různé možnosti.

Jediná metoda proti robotům, která se dnes považuje za solidní, je opisování kontrolního obrázku (tuším, že se tomu říká CAPTHA).

Já rád dělám to, že celý formulář vypisuji javascriptem (přes document.write nebo jinak). Málokterý robot si jej dokáže sestavit.

Jsou i další metody, každá ale staví na tom, že se předpokládá nějaká akce, kterou robot nezvládne. Osobně jsem zvolil to řešení (potýkal jsem se se stejným problémem), že jsem mailovací formulář prostě zrušil.
Leo
Profil
"Osobně jsem zvolil to řešení (potýkal jsem se se stejným problémem), že jsem mailovací formulář prostě zrušil."

Jednoduche a ucinne reseni podle meho gusta :-) Leo
mila
Profil
Mimochodem, takovýto formulář se dá často zneužít i pro rozesílání spamu na úplně jiné adresy.
Nevím jak to je přesně, ale princip je podobný SQL injection.
http://mirrors.inway.cz/manual/cs/ref.mail.php#55256
tomatin
Profil
TO: mila

Tak to bude ono. Email Injection. Měl jsem v parametru header přímo proměnou $email a do ní pravděpodobně útočník předával BCC: ... Vykostil jsem ji otamtud, ale nemůže existovat nebezpečí, když se tento "nebezpečný" kód (Bcc: nejakaadresa@domena.xx) přidá do parametru funkce mail() kde se má vložit text zprávy?

Napadá mě to ošetřit funkcí která "probublá" všechny předané parametry a pokud najde nepovolený řetězec (Bcc: nebo Multipart Data) tak to nepustí dál a označí to za spam.

Díky za info
Toto téma je uzamčeno. Odpověď nelze zaslat.

0