Psych0: strval bi güvenlik sağlamaz. Ayrıca type casting öyle de yapılmaz. Bilgi eksikliğin var biraz.
altayalp: Detaylı anlatmamı istiyorsan bak sorunlar şunlar.
Öncelikle iki fonksiyonu aynı yerde kullanmışsın, baştan yanlış çünkü ikisinin görevi farklı. MySQL'e kayıt için başka HTML için başka fonksiyon kullanman lazım.
İkinci sorun ise mysql_real_escape_string zaten özel karakterleri \ ile escape eder, siz ayrıca tekrar addslashes yaparsanız \\ şeklinde gereksiz bi escape işlemi daha yapmış olursunuz.
Ama dediğim gibi zaten MySQL ve HTML'i birbirine karıştırarak baştan mantık olarak yanlış başlamışsınız.
Sql Enjeksiyon İle Başım Dertte
20
●2.205
- 30-11-2006, 20:19:36muratmoon teşekkürler. söylemek istediğiniz anladım. iki ayrı fonksiyon birisi kayıt diğeri html için. fakat bu fonksiyonda get_magic_quotes_gpc() ile kontrol ettiğimden tek slash ekliyor. yani addslashes'i kontrol edip kullanıyorum. bu şekilde tek \ eklemesi gerekmez mi?
- 01-12-2006, 14:26:56Üyeliği durdurulduHayır ne olursa olsun iki tane gelecektir.
Magic Quotes Kapalı ise;
mysql_real_escape_string zaten bi kere ne olursa olsun \ ile escape yapacak. daha sonra get_magic_quotes_gpc false döneceği için bide addslashes peşine escape yapacak.
Magic Quotes Açık ise;
sistem zaten her dış veriyi otomatik addslashes ile escape etmiş olacak. bide üzerine mysql_real_escape_string her halikarda çalıştığı için yine 2 escape işlemi olacaktır. - 05-12-2006, 04:17:16
- 05-12-2006, 08:25:03sağlam bir güvenlik var işte daha nolsunTontonq adlı üyeden alıntı: mesajı görüntüle

zaten o kodu koymasam da, blog.php?id şeklinde görüntülenebilecek düzgün bir sayfa yok. yani kaşınmayan adam denemez böyle bişeyi
daha aşabilen görmedim
- 05-12-2006, 08:35:51baya bir deneme yaptım ama ben sql injection yapamadım. bu verdiğim kod da zaten yazdığım gibi sadece union select olayından kurtulmak içindi.
eğer açık varsa yazın düzeltiim buraya da kodları vereyim. halka açık script yaratmak kolay değil, ama açık olsaydı çoktan bildirilirdi diye düşünüyorum. tabi ki kimse "benim scriptimde açık yok" diyemez
- 05-12-2006, 08:41:58kullandığım tam fonksiyon şu sql injection'a karşı.. süperdir manyaktır demiyorum kırılamaz demiyorum sadece ben bunları kullanıyorum diyorum.. eğer sql injection yiyosa tabi ki geliştiririm..
if (get_magic_quotes_gpc()) { $value = stripslashes($value); if ($value <= '0') { die("hack girişimi!!!"); } } if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; $value = "*" . mysql_real_escape_string($value) . "*"; } return $value; }
