• 02-03-2014, 19:39:02
    #10
    yvolkan adlı üyeden alıntı: mesajı görüntüle
    @buddy, php dilinde basit bir güvenlik kodu mantığını aşağıdaki adrese ekledim. Ben çoğu sitemde kullanıyorum. Umarım işine yarar

    Güvenlik Kodu
    volkan bu çok sade tam aradığım gibi eline sağlık. fakat bu sadece güvenlik kodu. bunu formuma en basit nasıl entegre edebilirim? izah edebilrmisin rica etsem.
  • 02-03-2014, 19:50:37
    #11
    buddy adlı üyeden alıntı: mesajı görüntüle
    volkan bu çok sade tam aradığım gibi eline sağlık. fakat bu sadece güvenlik kodu. bunu formuma en basit nasıl entegre edebilirim? izah edebilrmisin rica etsem.
    Şu şekilde yapabilirsiniz:
    1. İlgili dosyayı yükleyin ve sitenize aktarın.
    2. Sitenize eklemek istediğiniz formun eklemek istediğiniz bölümüne örnek olarak aşağıdaki kodları yapıştırın. Bu adımda kontrol ettiğinizde güvenlik resmi sitede gözükmesi gerekmektedir.
      <label for="guvenlikKodu">Güvenlik Kodunu Giriniz: </label>
      	<input type="text" name="guvenlikKodu" id="guvenlikKodu" required />
      	<br />
      	<img src="SİTENİZ/guvenlik-kodu/guvenlik-kodu.php" />
    3. Formun gönderildiği sayfa da örnek olarak aşağıdaki kodlamayı yapabilirsiniz.
      <?php
      if ( isset($_POST['guvenlikKodu']) && $_POST['guvenlikKodu'] ){
      	$guvenlikKontrol = false;
      	if ( $_POST['guvenlikKodu'] == $_SESSION['guvenlikKodu'] ){
      		$guvenlikKontrol = true;
      	}
      	
      	if ( $guvenlikKontrol ){
      		// İşlemlere devam ...
      	}
      }
      ?>

    Örnek form şablonunu siteye de ekledim. Oradan bakarak belki anlamaya çalışabilirsiniz.
  • 02-03-2014, 20:06:13
    #12
    $x = rand(1,10);
    $y = rand(1,10);
    Form Kısmı;

    <input type="hidden" name="guvenlik1" value="<?= $x+$y ?>" />
    
    Güvenlik Sorusu (<?= $x; ?> + <?= $y; ?>);
    <input type="text" name="guvenlik2" />
    Değerleri gönderince kontrol ;

    $guvenlik1 = intval($_POST["guvenlik1"]);
    $guvenlik2 = intval($_POST["guvenlik2"]);
    
    if ($guvenlik2 != $guvenlik1) {
    echo 'Güvenlik Kodu Yanlış';
    } else {
    // işlemler
    }
  • 03-03-2014, 10:13:13
    #13
    <form action="teklif/form/kayit.php" method="post" id="formKayit" name="formKayit">

    diye formum başlıyor.

    if ( $guvenlikKontrol ){
    // İşlemlere devam ...
    }
    burada formumumu bu if içine mi eklmem gerekiyor?
    bir de bu arada, güvenlik kodu alanı boş bıkraınca bu alanı lütfen doldurun uyarısı geliyor input üzerinde. ancak senin dosyanda böyle bir ayar göremedim. o nereden nasıl oluştu?



    yvolkan adlı üyeden alıntı: mesajı görüntüle
    Şu şekilde yapabilirsiniz:
    1. İlgili dosyayı yükleyin ve sitenize aktarın.
    2. Sitenize eklemek istediğiniz formun eklemek istediğiniz bölümüne örnek olarak aşağıdaki kodları yapıştırın. Bu adımda kontrol ettiğinizde güvenlik resmi sitede gözükmesi gerekmektedir.
      <label for="guvenlikKodu">Güvenlik Kodunu Giriniz: </label>
          <input type="text" name="guvenlikKodu" id="guvenlikKodu" required />
          <br />
          <img src="SİTENİZ/guvenlik-kodu/guvenlik-kodu.php" />
    3. Formun gönderildiği sayfa da örnek olarak aşağıdaki kodlamayı yapabilirsiniz.
      <?php
      if ( isset($_POST['guvenlikKodu']) && $_POST['guvenlikKodu'] ){
          $guvenlikKontrol = false;
          if ( $_POST['guvenlikKodu'] == $_SESSION['guvenlikKodu'] ){
              $guvenlikKontrol = true;
          }
          
          if ( $guvenlikKontrol ){
              // İşlemlere devam ...
          }
      }
      ?>

    Örnek form şablonunu siteye de ekledim. Oradan bakarak belki anlamaya çalışabilirsiniz.
  • 03-03-2014, 10:25:09
    #14
    @buddy, IF ile başlayan ilgili kısım işlemlerin kontrolün yapıldığı yer. Kodlama kısmı yani. Form ise görüntü kısmı.

    Bu kontrolü sayfanın üstünde yapman gerekli. Daha sonradan işleme göre kullanıcıya mesaj vermen gerekir.

    Uyarı ise html5 yapısında required özelliği bu uyarıyı sağlıyor
  • 04-03-2014, 17:45:03
    #15
    yvolkan adlı üyeden alıntı: mesajı görüntüle
    @buddy, IF ile başlayan ilgili kısım işlemlerin kontrolün yapıldığı yer. Kodlama kısmı yani. Form ise görüntü kısmı.

    Bu kontrolü sayfanın üstünde yapman gerekli. Daha sonradan işleme göre kullanıcıya mesaj vermen gerekir.

    Uyarı ise html5 yapısında required özelliği bu uyarıyı sağlıyor

    Volkan hocam öncelikle eline sağlık fakat ben bunu aşağıdaki formuma nasıl entegre ederim birtürlü olmadı.


        <div class="form8">
        
        <form action="bizeulasin.php?send=6" method="post">
            <p>
                <label class="ikaf">Adınız Soyadınız</label>
                <input class="ikf" type="text" name="i1" />
            </p>
            <p>
                <label class="ikaf">Size Ulaşabileceğimiz Telefon</label>
                <input class="ikf" type="text" name="i2" />
            </p>
            <p>
                <label class="ikaf">Email Adresiniz</label>
                <input class="ikf"  type="text" name="i3" />
            </p>
            <p>
                <label class="ikaf">Mesajınız</br></label>
                <textarea class="ikf" name="i10"></textarea>
            </p>
            </br></br></br>
            
            
            <p>
                <label class="ikaf">&nbsp;</label>
                <input type="submit" value="Gönder" class="buton6" />
            </p>
        </form>
    <?php
    
        /* 
         * FORM KONTROL ------------------------------
         */
    
        if($_GET[send] == 6)
        {
        
            $hata6 = "";
            
            if(!$_POST[i1]){
                $hata6 .= "Formu Eksiksiz doldurunuz..<br />";
            }
            if(!$_POST[i2]){
                $hata6 .= "Formu Eksiksiz doldurunuz..<br />";
            }
            if(!$_POST[i10]){
                $hata6 .= "Formu Eksiksiz doldurunuz..<br />";
            }
            if(!$_POST[i3]){
                $hata6 .= "Lütfen Email Adresi belirtin!<br />";
            }else if(!filter_var($_POST[i3], FILTER_VALIDATE_EMAIL)){
                $hata6 .= "Email adres yanlış yazıldı!<br />";
            }
            
            
    //////////////////////////////////////////////////////////////
    
        /* 
         * SMTP MAİL BAŞLANGIÇ ------------------------------
         */
    
            if(!$hata6){
                require("class.phpmailer.php");
    
                $mail = new PHPMailer();
    
                $mail->IsSMTP(); // send via SMTP
                $mail->Host     = "mail.site.com"; // SMTP servers
                $mail->SMTPAuth = true;     // turn on SMTP authentication
                $mail->Username = "info@site.com";  // SMTP username
                $mail->Password = "xxxx"; // SMTP password
    
                $mail->From     = "info@site.com"; // smtp kullanıcı adınız ile aynı olmalı
                $mail->Fromname = "giden ismi";
                $mail->AddAddress("info@site.com","site.com");
                $mail->ContentType = "text/html";
                $mail->CharSet  = 'utf-8';
                $mail->Subject = (isset($_POST['baslik']) && !empty($_POST['baslik'])) ? $_POST['baslik'] : 'site.com iletişim formu.!';
                $mail->Body     =  "
                <p style=\"padding: 12px 12px; margin: 3px; background: #ccc\"><b>site.com iletişim formu.</b></p>
                <p style=\"padding: 4px 12px; margin: 3px; background: #e6e6e6\"><b>Adınız Soyadınız :</b> ".$_POST[i1]." </p>
                <p style=\"padding: 4px 12px; margin: 3px; background: #e6e6e6\"><b>Size Ulaşabileceğimiz Telefon :</b> ".$_POST[i2]." </p>
                <p style=\"padding: 4px 12px; margin: 3px; background: #e6e6e6\"><b>Mesajınız :</b> ".$_POST[i10]." </p>
                <p style=\"padding: 4px 12px; margin: 3px; background: #e6e6e6\"><b>Email Adresiniz :</b> ".$_POST[i3]."</p>";
                
                if(!$mail->Send())
                {
                   echo "Mesaj Gönderilemedi <p>";
                   echo "Mailer Error: " . $mail->ErrorInfo;
                   exit;
                }
            }
            }
        /* 
         * SMTP MAİL SON ------------------------------
         */
    
    
    
        if($hata6){
            echo "<p class=\"hata6\">$hata6</p>";
        }else if($_GET[send] == 6){
            echo "<p class=\"basarili6\">Mesajınız başarıyla gönderildi.</p>";
        }
    
                if ($_POST){
    
                    $i1 = addslashes($_POST["i1"]); 
                    $i2 = addslashes($_POST["i2"]); 
                    $i3 = addslashes($_POST["i3"]); 
                    $i10 = addslashes($_POST["i10"]);  
                    if(!empty($i10)){
                    
                        //Verileri Ekle
                        $ekle = mysql_query("insert into n_iletisim (i1,i2,i3,i10) values ('$i1','$i2','$i3','$i10')");
                        }
                    }
    ?>
        </div>
  • 05-03-2014, 12:44:35
    #16
    @MehmetKS, öncelikle teşekkür ediyorum.

    Yapmanız gereken ilk önce html kısmında göstermek, daha sonra kontrolünü sağlamak.

    Bunun içinde </br></br></br> atığın yerden sonra örnek olarak

    <p> 
                <label class="ikaf">Güvenlik Kodu</label> 
                <input class="ikf"  type="text" name="guvenlikKodu" /> 
    <img src="SITE ADRESIN/guvenlik-kodu/guvenlik-kodu.php" />
            </p>
    bu kısmı ekledikten sonra sayfanda güvenlik resmi çıkması gerek ilgili sitedeki gibi.

    daha sonra kontrol kısmında ise $hata6 = ""; kısmından sonra

    if ( $_POST['guvenlikKodu'] != $_SESSION['guvenlikKodu'] ){
                $hata6 .= "Güvenlik kodunu doğru giriniz!<br />"; 
    }
    şeklinde yapman gerekli.

    @buddy, arkadaşında yaptığı bir eksikliği söylüyeyim bu çok önemli çalışması açısından.

    session_start(); fonksiyonunu sayfanın başına eklemeniz gerekmektedir.