[linux-programlama] Re: PHP SQL Injection Kontrol

---------

From: Burak DAYIOGLU (burak.dayioglu@pro-g.com.tr)
Date: Tue 24 Jun 2003 - 17:49:17 EEST

  • Next message: Enver ALTIN: "[linux-programlama] Re: PHP SQL Injection Kontrol"

    On Mon, 2003-06-23 at 14:41, Enver ALTIN wrote:
    > On Mon, 2003-06-23 at 17:09, Burak DAYIOGLU wrote:
    > > On Mon, 2003-06-23 at 11:21, Enver ALTIN wrote:
    > > > require_once("DB.php");
    > > > $db=DB::connect("mysql://user:pass@host+unix/dbname");
    > > > $sql=$db->query("select * from table where field1=?,field2=?", array($avalue, $asecondvalue));

    > Hayir, bahsettiginiz gibi bir denetim gerekmiyor.

    Sanirim yine de gerekiyor. Oracle (oci8) icerisinde prepare()
    fonksiyonunun hemen onunde "with oci8, this is emulated" yaziyor. Yani
    her veritabani ya da her erisim arayuzu bunu problemsiz desteklemek
    zorunda degil sanirim....

    > PEAR kutuphanesi yada diger araclarin yaptigi is (saniyorum tahmininiz
    > bu) "?" ile verilen parametreleri sirasiyla replace etmek degil. SQL
    > sunucunun client kutuphanesi SQL sorgusunu ve parametreleri birbirinden
    > ayri olarak tasiyor ve tum SQL sunucular, bu paremetreleri asil SQL
    > sorgusunun icerigine bulastirmaksizin ayri bellek bolgelerinde sadece
    > kiyaslama islemlerinde kullaniyorlar.

    Bunu biliyorum. Sadece prepare edilmis, intermediate form'a
    donusturulmus sorgular her veritabani ile desteklenmiyor ya da
    veritabani soyutlama katmani (DB abstraction layer) tarafindan yalnizca
    emule ediliyor olabilir diye endise ediyorum.

    > Parametrik SQL
    > sorgular ilk calistirildiklarinda bunlar icin (aslinda tum sorgular
    > icin) bir optimization plan hazirlanir. Ayni sorgu ikinci kez
    > calistirildiginda bu islemler daha once yapildigindan ikinci kez
    > optimization uygulanmaz, daha hizli index/search yapilir ve sorgu
    > calistirma suresi onemli olcude kisalir.

    dogrudur. bu konuda son derece haklisin.

    Daha once preperad-query denemedim php-PEAR ile. Az once verdigin
    ornekteki gibi bir seyler denedim query() islevini bulamadi. PHP4.1.2
    kullaniyorum, daha sonra eklenmis olabilir mi PEAR'a?

    selamlar.

    -- 
    Burak DAYIOGLU
    Danisman, Pro-G Bilisim Guvenligi ve Arastirma Ltd.
    Phone: +90 312 2101494         Fax: +90 312 2101493
    http://www.pro-g.com.tr           ICQ UIN: 72276975
    

  • Next message: Enver ALTIN: "[linux-programlama] Re: PHP SQL Injection Kontrol"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.