On Sun, 2013-01-13 at 19:09 +0200, [email protected] wrote:
> Selamlar,
> Değerli hocam: Bu nasıl bi cevap dili?... Ne İsa'ya ne de Musa'ya göre
> olmuş... :)
>
> Kolay gelsin,
> Mucip:)
>
>
> 13 Oca 2013 18:44 tarihinde "Atıf CEYLAN" <[email protected]>
> yazdı:
>
> On Sun, 2013-01-13 at 12:10 +0200, hasan sarman wrote:
>
> > function Safety($string) {
> > $string = stripslashes($string);
> > $string = strip_tags($string);
> > $string = mysql_real_escape_string($string);
> > return $string;
> > }
>
> stripslashes, addslashes olacak ancak artik escape yontemi
> kullanilmiyor. Bu nedenle addslashes deprecated bir fonksiyon.
> Ayrica escape bazi injectionlara neden oluyor.
> strip_tags ise injectionla ilgisi yok. Zira html taglari
> silmeye yariyor.
> --
> M.Atıf CEYLAN
> Yurdum Yazılım
Valla 2 gundur uzerinize afiyet biraz grip ve neticesinde de biraz garip oldum.
Ama merak etmeyin okuyunca kendime yuh demeyi ihmal etmedim.
Ornekteki stripslashes amacina uygun degil. Zira bu \ yani escape
(kacis) karakterlerini temizler. Eskiden veritabanlarina, ozel
karakterleri eklemek istedigimizde (',\,\n,\t vb.) addslashes yapardik.
Bunun neticesi soyle olurdur,
misal ' ekleyecegiz ya da \ , addslashes fonksiyonu kullanildiginda
sonuc \' veya \\ gibi olurdu. Bu yontem ise bazi hex verilerde i$e
yaramadigindan injectionlara neden oluyordu.
Veritabanlari uzun zamandan beri injection onlemek icin kendi client
api'lerine birer fonksiyon eklediler. (gerci mysql once
mysql_escape_string sonra da mysql_real_escape_string yapti. Yanlis
hatirlamiyorsam yukaridaki bahsettigimiz multi-byte kodlar nedeni ile.
Hakiki Koç, Öz Urfa tarzinda real escape dedi :P )
Bu nedenle artik addslashes kullanilmiyor hatta bunu gonderince
PostgreSQL artik size kiziyor. Fi tarihinden mi kaldin diye.
El-hasil kullanilacaksa bile stripslashes degil addslashes olmaliydi
demek istemistim.
strip_tags ise soyle bir ise yariyor:
echo
strip_tags('<table><tr><td><strong>hucre</strong></td></tr></table>') //
output hucre
yani html taglari siliyor. Bunun da sql injectionla bir ilgisi
bulunmuyor.
Kolay gelsin,
--
M.Atıf CEYLAN
Yurdum Yazılım
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php