Şimdi Ara

İletişim formuna güvenlik sorusu eklemek için yardım pls

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
7
Cevap
0
Favori
909
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Kıymetli arkadaşlar;
    HTML bir web sitemin bir kaç yerinde iletişim formu var. Bu iletişim formlarına son günlerde çok spam gelmeye başladığı için güvenlik sorusu, ben robot değilim gibi bir eklentiye ihtiyacım var.Ben burada sayfanın kodlama şeklini paylaşacağım bu konuda bilgisi olan yardımcı olabilir mi

    <form method="post" action="sizi-arayalim.php?islem">
    <table width="100%" cellpadding="0" cellspacing="0">
    <tr>
    <td align="right" class="stylemenajer">&nbsp;</td>
    <td>&nbsp;</td>
    <td width="516" class="summary">İsim</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td width="30" align="right" class="baslikb">&nbsp;</td>
    <td width="10" class="baslikb">&nbsp;</td>
    <td><input name="adsoyad" type="text" class="mail-message-btn" id="adsoyad" size="20" />
    <input name="iletisim" type="hidden" id="iletisim" value="Beni Ara!"></td>
    <td width="6">&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td><span class="summary">E-Posta</span></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" class="baslikb">&nbsp;</td>
    <td class="baslikb">&nbsp;</td>
    <td><input name="eposta" type="text" class="mail-message-btn" size="20" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td><span class="summary">Telefon</span></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" class="baslikb">&nbsp;</td>
    <td class="baslikb">&nbsp;</td>
    <td><input name="telefon" type="text" class="mail-message-btn" id="telefon" size="20" /></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td height="20" class="summary">&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td class="summary">Hangi saatler arası müsaitsiniz? </td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td class="summary"><table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
    <td align="center" valign="middle" class="summary"><input name="saat10-12" type="radio" class="button" value="10:00-12:00"></td>
    <td align="left" valign="middle" class="summarybig">10:00 - 12:00</td>
    <td align="center" valign="middle" class="summary">&nbsp;</td>
    <td align="center" valign="middle" class="summary"><input name="saat14-16" type="radio" class="button" value="14:00-16:00"></td>
    <td align="left" valign="middle" class="summarybig">14:00 - 16:00</td>
    <td align="center" valign="middle" class="summary"><input name="saat17-20" type="radio" class="button" value="17:00-20:00"></td>
    <td align="left" valign="middle" class="summarybig">17:00 - 20:00</td>
    <td align="center" valign="middle" class="summary">&nbsp;</td>
    <td align="center" valign="middle" class="summary"><input name="saat21-00" type="radio" class="button" value="21:00-00:00"></td>
    <td align="left" valign="middle" class="summarybig">21:00 - 00:00 </td>
    </tr>
    </table></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td class="summary">Sizi hangi konuda aramamızı istediğinizi bir kaç cümle ile belirtebilir misiniz? </td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td align="right" valign="top" class="baslikb">&nbsp;</td>
    <td valign="top" class="baslikb">&nbsp;</td>
    <td class="summary"><textarea name="sebep" cols="50" rows="5" class="mail-message-btn" id="sebep"></textarea></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td valign="top" class="stylemenajer">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td align="left"><input name="submit" type="submit" class="button" value="Beni Arayın!" />
    <input name="reset" type="reset" class="button" value="Temizle" />
    <br></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td valign="top" class="stylemenajer">&nbsp;</td>
    <td valign="top">&nbsp;</td>
    <td align="left"><?

    if (isset($_GET['islem'])) {

    if ($_POST['adsoyad']<>'' && $_POST['eposta']<>'' && $_POST['sebep']<>'' && $_POST['telefon']<>'') {

    require_once("class.phpmailer.php");

    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->Host = "mail.alanadi.com";
    $mail->SMTPAuth = true;
    $mail->Username = "eposta";
    $mail->Password = "sifreeeee";
    $mail->From = "epostaaaaa";
    $mail->FromName = $_POST['adsoyad'];
    $mail->AddAddress("epostaadresimvar","Beni Ara!");
    $mail->Subject = $_POST['iletisim'];
    $mail->Body = $_POST['mesaj']."

    İsim : ".$_POST['adsoyad']."
    Telefon : ".$_POST['telefon']."
    Saat : ".$_POST['saat10-12'].",".$_POST['saat14-16'].",".$_POST['saat17-20'].",".$_POST['saat21-00']."
    Sebep : ".$_POST['sebep']."
    E-Posta : ".$_POST['eposta'];



    if(!$mail->Send())
    {
    echo '<font face="Georgia" size="2" color="#cc0000"><b>x Gönderim Hatası: ' . $mail->ErrorInfo . '</b></font>';
    exit;
    }
    echo '<font face="Georgia" size="2" color="#AE4B84"><b>| •••! Mesaj başarıyla gönderildi !••• |</b></font>';
    } else {
    echo '<font face="Georgia" size="2" color="#cc0000"><b>• Eksik bilgi bulunmaktadır. Açıklamayı okuyunuz!</b></font>';
    }
    }
    ?></td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td valign="top" class="yazibeyaz">&nbsp;</td>
    <td valign="top" class="yazibeyaz">&nbsp;</td>
    <td colspan="2" valign="bottom" class="summary"><span class="yazisari">•</span> Tüm alanların doldurulması zorunludur.<br>
    •</span> Telefon ve mail adresiniz gerektiğinde sizinle irtibat kurulabilmesi için istenmektedir. </td>
    </tr>
    </table>
    </form>







  • eCAPTCHA kullanabilirsin google nin guvenlik servisidir.. anlatım videosunu asagıda paylastım video acıklamasında indirme kodları mevcuttur..

  • Evet aslında ilk bunu düşündüm lakin nasıl entegre edeceğimi bilmiyorum desem yeridir.
  • quote:

    Orijinalden alıntı: selmanca

    Evet aslında ilk bunu düşündüm lakin nasıl entegre edeceğimi bilmiyorum desem yeridir.
    Merhaba,http://omererkan.com/recaptcha-kullanimi/ burada php için olanını anlatmış.
  • Sorununuzu çözüme kavuşturamadıysanız google'ın Captha sistemini kullanmadan nasıl onay sistemi yapacağınızı anlatabilirim:

    Formun gönderildiği sayfada php ile rastgele 2 sayı tutturup bunu $a ve $b şeklinde değişkenlere atayın...

    Bu iki sayının toplamını $c değişkenine atayın.

    Bu iki sayıyı formun alt kısmına şu şekilde yazdırın:
    echo $a." + ".$b." = ?";

    Formun en altına cevabın yazılacağı bir kutucuk ekleyin...

    $c değişkenini ($a ve $b değikenlerinin toplamı = $c değişkeni) mysql'e kullanıcının ip'si ile kaydedin.

    Iletişim formunun sql e gönderildiği kısımda şunları yapın:
    kullanıcının ip'sini alın

    mysql de kullanıcın ip'si ile uyuşan ip varmı bakın varsa en sonda eklediğimiz cevap kısmından gelen sayının kullanıcının ip si ile uyuşan kayıttaki sayıya eşit olup olmadığını kontrol edin.
    Eşit ise işlem tamam :)

    ////// AMA bu işlem spam yapmayı engellemez spamı engellemek için şunları yapabilirsiniz:

    --A--
    Form size gönderildiğinde
    Kullanıcının ip'sini alın.
    Time fonksiyonu ile zamanın hesaplanabilirini alın.
    Bunları mysql'e atın.

    --B--
    Kullanıcı bidaha size form göndermeye çalıştığında
    tekrar time fonksiyonu ile zamanı alın.
    Aldığınız zamandan 30 çıkarın.
    Kullanıcının ip sine uyan kayıt yoksa --A-- kısmındaki işlemleri yapın
    varsa ve eğer cevap mysqldekinden büyükse 30 saniye geçmiş demektir ve --A-- kısmındaki işlemleri yapın.
    Eğer cevap mysqldekinden küçükse hala 30 saniye vardır gönderebilmesi için bu yüzden yukardaki işlemlere izin vermeyin ve mysqldeki zamanı time() ile önceden aldığınız zamandan çıkarın ki kaç saniye kaldığını öğrenip formun gönderildiği sayfada tekrarki işlem için şu kadar saniye kaldı yazdırabilesiniz...




  • <?php

    \\ Ozernet Php scprit

    $salt = "abcdefghjkmnpqrstuvwxyz0123456789";

    srand((double)microtime()*1000000);

    for($i=0;$i<9;$i++){ $gcode .= $salt{rand(0,33)}; }

    if($kayit == "$gcode"){ $geribildir .= "<br><font color=red>Güvenlik kodu hatalı!</font>";}


    echo' $geribildir <br> $gcode <br><input type="text" name="kayit" value=" "> ';

    ?>

    Yukardaki kodları sistemine entegre etmek kolay .php sayfasının en başına koysan olur. echo''; yansıma kodunun arasındakileride kendi formuna yerleştir . işleyiş şöyle: alfa sayısal vir güvenlik kodu oluşuyor ve ekrana bastırılıyor kullanıcı input degerine irer ve onaylar ise if fonksiyonu karşılaştırıyor eşit ise işlem devam ettiriliyor degilse geri bildirilip güvenlik kodu yenileniyor devam etmek için güvenlik kodunu girmek ve eşleşme saglamak durumun da yalnı bu güven lik sistemleri spam engelleyici degil sonsuz döngü yöntemi ile klonlamayı engeller botsaldırısını vs.



    < Bu mesaj bu kişi tarafından değiştirildi ozernet -- 24 Mart 2019; 12:43:3 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.