• 07-11-2012, 23:02:51
    #1
    Merhabalar..

    Php diline giriş yaptım. Sizlerden ricam aşağıdaki mail formunda güvenliği nasıl sağlayabilirim?

    Yardım eden arkadaşlara şimdiden teşekkür ediyorum..


    ----form.html----

    <form action="mail.php" method="post" name="" id="">
      <p>&nbsp;</p>
      <table width="71%"  border="0" align="center" cellpadding="0" cellspacing="0">
        <tr>
          <td width="42%"><div align="right"><strong>İsim ve Soyad: </strong></div></td>
          <td width="58%" height="19">
            <div align="left">
              <input name="gonder_isim" type="text" id="gonder_isim6">
          </div></td>
        </tr>
        <tr>
          <td><div align="right"><strong>Mail Adresiniz: </strong></div></td>
          <td height="19">
            <div align="left">
              <input name="gonder_mail" type="text" id="gonder_mail2">
          </div></td>
        </tr>
        <tr>
          <td><div align="right"><strong>Konu:</strong></div></td>
          <td height="19">
            <div align="left">
              <input name="baslik" type="text" id="baslik">
          </div></td>
        </tr>
        <tr>
          <td valign="top"><div align="right"><strong>Mesaj:</strong></div></td>
          <td height="108">
            <div align="left">
              <textarea name="mesaj" id="textarea" cols="40" rows="5"></textarea>
          </div></td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
          <td height="18"><input type="submit" name="Submit" value="Gönder">  &nbsp;&nbsp;
          <input type="reset" name="Submit2" value="Formu Temizle"></td>
        </tr>
      </table>

    ----mail.php----

    <?php
    
    
    $gonder_isim=$_POST["gonder_isim"];
    $gonder_mail=$_POST["gonder_mail"];
    $alan_mail= "mail@mail.com";
    $baslik=$_POST["baslik"];
    $mesaj="Merhaba ---" . $alan_isim . "Aşağıdaki Mail Size ---" .
    $gonder_isim . " --- Tarafından Gönderilmiştir.
    Mesaj: " . $_POST["mesaj"];
    
    
    $mailtanim = "MIME-Version: 1.0\r\n"; // bu kısım tanımlama kısmı
    $mailtanim .= "Content-type: text/plain; charset=iso-8859-9\r\n";
    $mailtanim .= "From: $name <$gonder_mail>\r\n";
    $mailtanim .= "Reply-To: $name <$gonder_mail>\r\n";
    
    
    mail($alan_mail,$baslik,stripslashes($mesaj),$mailtanim);
    
    echo "<center><font size=+3>Mailiniz Gönderilmiştir.<br>Teşekkür Ederiz</font></center>"
    
    ?>
  • 07-11-2012, 23:34:11
    #2
    herkesin erişimine açık ise isteyen kişi istediğine istediği kadar e-posta gönderebilir. Bence bunu sınırlamalısınız formunuzun ihtiyacına göre.

    Sınırlamak için session kullanabilirsiniz.

    (
    1. gönderim sonu $_SESSION['sended_mails'] = 1,
    2.gönderim için +1,
    3 te yarım saat bekletebilirsiniz.
    )

    ---

    İlkini kullanmayacaksanız yani gerçek kullanıcıya kısıtlama yapmayacaksanız güvenlik resmi ile kullanıcının gerçek olup olmadığını sınayabilirsiniz.

    Bunlar geliyor şu an aklıma
  • 08-11-2012, 00:06:58
    #3
    miscel teşekkür ediyorum.. Evet güvenlik doğrulaması ekleyeceğim. Onun dışında daha farklı saldırılar olabilir mi? Olursa nasıl engelleyebilirim. Herkese açık bir sistem olacak..
  • 11-11-2012, 02:06:12
    #4
    Yardımcı olabilecek arkadaş yok mu?