function Safety($string) {
$string = stripslashes($string);
$string = strip_tags($string);
$string = mysql_real_escape_string($string);
return $string;
}Bu en basit hali.. Eğer siz veritabanına yolladıgınız veride html taglarda bulunsun istiyorsanız 2 adet fonksyion yazıcaksınız birisi tüm < > = ' gibi ifadeler < > gibi degerlere donusturecek.. sonra donuste bunları yeniden html tag e eşliyecek. Prepared statement lar tam çözüm değil hala sql injection yeme ihtimaliniz var. prapered statement ile birlikte ayıklma fonksiyonuda kullanmalısınız. cok fazla etliye sütlüye karısmadan cozmek istiyorsanız... $id = mysql_real_escape_string($id); şeklinde aldıgınız inputu ayıklayıp kullanmanızda kafi gelecektir. 13 Ocak 2013 12:00 tarihinde <[email protected]>yazdı: > Linux-programlama listesi mesajlarını şu adrese gönderin: > [email protected] > > World Wide Web ile üye olmak veya üyelikten çıkmak için şu sayfayı > ziyaret edin: > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > veya e-posta yoluyla konusunda veya gövdesinde 'help' yazan bir mesajı > şu adrese gönderin: > [email protected] > > Bu listeyi yöneten kişiye şu adresten ulaşabilirsiniz: > [email protected] > > Yanıt yazarken, lütfen Konu satırını düzenleyerek şu tür bir şekilden > daha belirli olmasını sağlayın: "Ynt: Linux-programlama toplu > mesajının içeriği..." > > > > Günün Konuları: > > 1. SQL Injection engellemesi hk (Nuri AKMAN) > 2. Re: SQL Injection engellemesi hk (Atıf CEYLAN) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Sat, 12 Jan 2013 17:21:48 +0200 > From: Nuri AKMAN <[email protected]> > Subject: [Linux-programlama] SQL Injection engellemesi hk > To: Özgür yazılımlarla çeşitli dillerde yazılım geliştirme > <[email protected]> > Message-ID: > < > canj-rpmo1apzbm2dwoit__qyo6snun9ojn8ztgfv+kgdcnd...@mail.gmail.com> > Content-Type: text/plain; charset="iso-8859-9" > > Arkadaşlar, > > > http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php > > Bu sayfada PHP'de SQL injection önlenmesi hususu tartışılıyor. > > Herhangi bir framework kullanılmayan bir uygulama geliştirme ortamında siz > nasıl bir fonksiyon önerirsiniz/kullanıyorsunuz? > > Selamlar, > Nuri Akman > -------------- sonraki bölüm -------------- > Bir HTML eklentisi temizlendi... > URL: > http://liste.linux.org.tr/pipermail/linux-programlama/attachments/20130112/0bf9b4fd/attachment-0001.html > > ------------------------------ > > Message: 2 > Date: Sat, 12 Jan 2013 18:33:35 +0200 > From: Atıf CEYLAN <[email protected]> > Subject: [Linux-programlama] Re: SQL Injection engellemesi hk > To: Özgür yazılımlarla çeşitli dillerde yazılım geliştirme > <[email protected]> > Message-ID: <1358008415.4496.9.camel@debian> > Content-Type: text/plain; charset="utf-8" > > On Sat, 2013-01-12 at 17:21 +0200, Nuri AKMAN wrote: > > Arkadaşlar, > > > > > http://stackoverflow.com/questions/60174/how-to-prevent-sql-injection-in-php > > > > > > > > Bu sayfada PHP'de SQL injection önlenmesi hususu tartışılıyor. > > > > > > > > Herhangi bir framework kullanılmayan bir uygulama geliştirme ortamında > > siz nasıl bir fonksiyon önerirsiniz/kullanıyorsunuz? > > > > > > > > Selamlar, > > Nuri Akman > > Temel olarak 1-2 yontemi var. Ya prepare statements kullanirsiniz, ya > veritabanlarinin escape fonksiyonlarini veya tamsayi bir deger ise > tamsayiya cast edersiniz. > Bunun disinda beklenen veri belli ise if else kontrolleri de olur. > > Misal > > /?a=true > if ($_GET['a'] == 'true') > ....where field is true > > /?a=321 > $l_a = (int)$_GET['a'] //tamsayi disinda bir veri oldugunda 0 (sifir) > cast edilir. > ...where field=$l_a > > /?a=hebele > $l_a = pg_escape_string($_GET['a']) veya pg_escape_bytea > ...where field='$l_a' > > ya da php kullaniyorsaniz pdo ile ya da java ile prepare statements > kullanarak. > > -- > M.Atıf CEYLAN > Yurdum Yazılım > -------------- sonraki b? -------------- > Bir HTML eklentisi temizlendi... > URL: > http://liste.linux.org.tr/pipermail/linux-programlama/attachments/20130112/785aaeeb/attachment-0001.html > > ------------------------------ > > _______________________________________________ > Linux-programlama mailing list > [email protected] > https://liste.linux.org.tr/mailman/listinfo/linux-programlama > Liste kurallari: http://liste.linux.org.tr/kurallar.php > > > Son: Linux-programlama Toplu Mesajı, Sayı 100, Konu 11 > ****************************************************** > -- İyi Günler. Hasan SARMAN
_______________________________________________ Linux-programlama mailing list [email protected] https://liste.linux.org.tr/mailman/listinfo/linux-programlama Liste kurallari: http://liste.linux.org.tr/kurallar.php
