• 03-07-2014, 19:48:22
    #1
    Yazdığım scriptler'de mysql sorgularını direkt yazıyorum yani hiç eklenti, framework vs. kullanmadan. Bu ne kadar doğrudur? Mesela üye kaydı yapacağız;

    <?php
    $gelen_kullanici_adi = strip_tags(trim($_POST["kullaniciadi"]));
    $gelen_sifre = strip_tags(trim($_POST["sifre"]));
    
    include "baglan.php";
    
    $uye_kontrol_sorgu = mysql_query("SELECT * FROM uyeler WHERE kullanici_adi='$gelen_kullanici_adi'");
    $uye_kontrol = mysql_num_rows($uye_kontrol_sorgu);
    
    		if(empty($gelen_kullanici_adi) || empty($gelen_sifre)) {
    			echo "Lütfen boş alanları doldurun.";
    		}else if($uye_kontrol >= 1) {
    			echo "Bu kullanıcı adına sahip bir üye zaten mevcut.";
    		}else if(strlen($gelen_kullanici_adi) < 6 || strlen($gelen_kullanici_adi) > 20) {
    			echo "Kullanıcı adı en az 6, en fazla 20 karakterden oluşabilir.";
    		}else if(strlen($gelen_sifre) < 6 || strlen($gelen_sifre) > 20) {
    			echo "Şifre en az 6, en fazla 20 karakterden oluşabilir.";
    		}else {
    			mysql_query("insert into uyeler (kullanici_adi, sifre) values ('$gelen_kullanici_adi', '$gelen_sifre')");
    			echo "<script>window.location.replace('giris.php');</script>";
    		}
    
    ?>
    Şeklinde yazıyorum. Sizce yanlış yaptığım bir şeyler var mı?
  • 03-07-2014, 19:57:30
    #2
    Misafir
    Temel anlamda güvenlik için form'dan yada adres satırından:
    - Sayısal ifade alacaksan intval ile süz
    - Text alacaksan muhakkak mysql_real_escape_string'e sok
    - Text ifadeleri <script> vb taglere karşı süz.
  • 03-07-2014, 20:06:06
    #3
    yakoSin adlı üyeden alıntı: mesajı görüntüle
    Temel anlamda güvenlik için form'dan yada adres satırından:
    - Sayısal ifade alacaksan intval ile süz
    - Text alacaksan muhakkak mysql_real_escape_string'e sok
    - Text ifadeleri <script> vb taglere karşı süz.
    Teşekkürler, mysql_real_escape_string'i bilmiyordum kullanırım bundan sonra.
  • 03-07-2014, 22:03:34
    #4
    PHP Framework kategorisindeki sabit yazı da avantajları yazıyor. O yazıyı incelemeni tavsiye ederim.
    https://www.r10.net/php-framework/768...-nelerdir.html
  • 04-07-2014, 16:54:10
    #5
    ylv
    Üyeliği durduruldu
    ibrahimsn adlı üyeden alıntı: mesajı görüntüle
    Yazdığım scriptler'de mysql sorgularını direkt yazıyorum yani hiç eklenti, framework vs. kullanmadan. Bu ne kadar doğrudur? Mesela üye kaydı yapacağız;

    <?php
    $gelen_kullanici_adi = strip_tags(trim($_POST["kullaniciadi"]));
    $gelen_sifre = strip_tags(trim($_POST["sifre"]));
    
    include "baglan.php";
    
    $uye_kontrol_sorgu = mysql_query("SELECT * FROM uyeler WHERE kullanici_adi='$gelen_kullanici_adi'");
    $uye_kontrol = mysql_num_rows($uye_kontrol_sorgu);
    
    		if(empty($gelen_kullanici_adi) || empty($gelen_sifre)) {
    			echo "Lütfen boş alanları doldurun.";
    		}else if($uye_kontrol >= 1) {
    			echo "Bu kullanıcı adına sahip bir üye zaten mevcut.";
    		}else if(strlen($gelen_kullanici_adi) < 6 || strlen($gelen_kullanici_adi) > 20) {
    			echo "Kullanıcı adı en az 6, en fazla 20 karakterden oluşabilir.";
    		}else if(strlen($gelen_sifre) < 6 || strlen($gelen_sifre) > 20) {
    			echo "Şifre en az 6, en fazla 20 karakterden oluşabilir.";
    		}else {
    			mysql_query("insert into uyeler (kullanici_adi, sifre) values ('$gelen_kullanici_adi', '$gelen_sifre')");
    			echo "<script>window.location.replace('giris.php');</script>";
    		}
    
    ?>
    Şeklinde yazıyorum. Sizce yanlış yaptığım bir şeyler var mı?
    veritabanı için framework kullanmanıza gerek yok ama güvenirliği test edilmiş sınıflar kullanmanız sizin için ve veritabanı işlemleriniz için güvenli olucaktır.

    http://pear.php.net/search.php?q=dat...er&in=packages