Formu mail gönderme

Kodun içerisinde tek_guvenlik adında bir metod kullanmışım bu fonksiyonu ben kendim tanımlamıştım bilgileri süzmek ve zararlı kodları çıkarmak için, sizde bu fonksiyonu kendinize göre belirleyin.

daha sonra $_SESSION[pgonder] var bununlada kullanıcın o oturumda sadece 6 adet posta gönderebilmesi için bir limit koyuyoruz kişi 6 adet göndermisse kişiye uygun bir uyarı ile başka post yapmasını engelliyor.

kodun en başında 5 yazıyor ama session ilk başta set edilmediği için bu tekrar belirttiğimiz rakamdan bir fazlaya tekabül ediyor

limit koymazsak sayfaya otomatik post gönderen bir bot kurabilirler buda hem sistemimizi yorar hemde mail kutumuzu.

<?php
$ayar[email] = "sizin emailiniz";
$ayar[siteadi] = "Sitenizin adı";
if($_POST){
            if($_SESSION[pgonder] < 5){

                $veri[] = 'İp: '. $_SERVER['REMOTE_ADDR'];
                $veri[] = 'Tarih: '. date("d.m.Y");
                $eposta = $ayar[email];
                foreach ($_POST as $adi=>$deger){
                    if(is_array($adi)){$veri[] = tek_guvenlik($adi).': '.implode(',',$deger);}
                    else{$veri[] = tek_guvenlik($adi).':  '.tek_guvenlik($deger);}
                }

                $mesaj = implode('<br />',$veri);

                if (!@mail($eposta,'İleti',$mesaj,"MIME-Version:1.0\nContent-Type:text/html;charset=iso-8859-9\nFrom: $ayar[siteadi]<$eposta>\n" ) ){
                    echo '<p>! İşlem başarısız oldu.Lütfen daha sonra tekrar deneyin.</p>'; 
                }else{
                    echo '<p>İşleminiz başarılı bir şekilde gerçekleştirildi.<br />Teşekkür ederiz</p>';    
                }
                $_SESSION[pgonder] += 1; 
            }
            else{
                echo '<p>Bu gün içerisinde gereken mesaj limitinizi doldurmussunuz.<br />Lütfen daha sonra tekrar deneyin.</p>';    
            }
}
?>

Örnek bir güvenlik methodu

<?php 
           function tek_guvenlik($text){
               $text = stripslashes($text); // \ ters slaçları temizliyorum sonradan addslashes ile tekrardan koyucaz
               return $text = addslashes(strip_tags($text));
           }
     ?>

Burda ara