İletişim Formlarından Gelen Spam Mailleri İçin Çözüm

Bildiğiniz gibi çoğu sitelerde kullanılan iletişim formları spam mail göndermek için hedef haline gelmekte.Dolayısıyla bunu önlemenin yollarından biri ve basit olan yönteminden bahsedeceğim.

Formdan gelen verilerimizi mail komutu ile göndermeden önce sorgulatmalarımızı yaparken öncelikle formumuzda web sitesi adresi istiyorsak ziyaretçimizden bunu "http://" ile yazmasını engelleyeceğiz.Ziyaretçiye sadece "sanalkurs.net" tarzı yazmasına izin vereceğiz.Ve mail komutu işleme konulmadan önce de ;


$spamyapan = "Spam Mail.Lütfen Normal Olarak Mesaj Gönderiniz" ;

if (preg_match("/http/i", "$adsoyad")) {echo "$spamyapan"; exit();} 

if (preg_match("/http/i", "$email")) {echo "$spamyapan"; exit();} 

if (preg_match("/http/i", "$mesaj")) {echo "$spamyapan"; exit();}



Daha sonra geçersiz karakter gönderen spam mailler için;


$gecersizkarakter = '/(;|||`|>|<|&|^|"|'."n|r|'".'|{|}|[|]|)|()/i';             

  $adsoyad = preg_replace($gecersizkarakter, "", $adsoyad); 

  $email = preg_replace($gecersizkarakter, "", $email); 

  $mesaj = preg_replace($gecersizkarakter, "", $mesaj);



Yine mail ile gönderme işlemlerinde bazen spam gönderen kişiler mail headerları da ekleyebiliyorlar.Bunu engellemek için de ;


$headerbul = array("/bcc:/i","/Content-Type:/i","/cc:/i","/to:/i"); 

  $email = preg_replace($headerbul, "$spamyapan", $email); 

  $adsoyad = preg_replace($headerbul, "$spamyapan", $adsoyad); 

  $mesaj = preg_replace($headerbul, "$spamyapan", $mesaj);



şeklinde mail formumuzun action kısmını oluşturabiliriz.

Saygılarımla
  • Etiketler;
Yorum Yaz

Yorum yazabilmek için üye girişi yapmanız gerekiyor!

• 12 yıl önce
Güvenlik koduda bir çözüm olabilir.
• 12 yıl önce
Güvenlik kodu da diğer bir çözüm yolu tabi Farklı yaklaşımlar,farklı düşünceler..

Yukarı Git