-
Üyelik
15.02.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Webmaster
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ç** T**
-
Mesajlar
28
-
Beğeniler
0 / 0
-
Ticaret
0, (%0)
Arkadaşlar İnjection Açığını Kapatmak Engellemek İçin Örnek Veriyorum
$id = (int) intval($_GET["id"]); Sadece sayısal karakterlere izin ver mi iyidir yoksa
$id = $_GET["id"];
$idduzenle = @mysql_real_escape($id); bu hazır fonksiyonmu iyidir ?
sizce ?
-
Üyelik
12.06.2012
-
Yaş/Cinsiyet
38 / E
-
Meslek
Öğretmen
-
Konum
Samsun
-
Ad Soyad
O** Y**
-
Mesajlar
1722
-
Beğeniler
398 / 400
-
Ticaret
20, (%100)
Yerinizde olsam direk PDO yapısını kullanırdım :)
.
-
Üyelik
15.02.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Webmaster
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ç** T**
-
Mesajlar
28
-
Beğeniler
0 / 0
-
Ticaret
0, (%0)
Araştırdım Haklısın Galiba ama o kadar kod yazdım şimdi tekrar yapıyı değiştirmek hiç işime gelmiyor :D
Neredeyse tüm amatör PHP ve MySQL projelerinde SQL injection açığı bulunuyor. Fakat PDO’nun binding özelliği sayesinde sorgu içerisindeki değişken değerler harici olarak dahil ediliyor ve kaçış karakterleri ekleniyor. Bu sayede bu basit açıktan da arınmış oluyoruz.
ozolcay
Üyeliği Durdurulmuş
Banlı Kullanıcı
-
Üyelik
27.04.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Bilgisayar Programcısı
-
Konum
Eskişehir
-
Ad Soyad
O** Ö**
-
Mesajlar
49
-
Beğeniler
4 / 7
-
Ticaret
14, (%64)
Aşağıdaki kodu kullanarak sql injection u engellemiş olursunuz. Böylece id değerinizin sadece rakamlardan oluştuğunu belirlersiniz.
$id=(mysql_real_escape_string(abs(intval($_GET['id']))));
-
Üyelik
14.09.2012
-
Yaş/Cinsiyet
39 / E
-
Meslek
Yazılım geliştirme
-
Konum
Ankara
-
Ad Soyad
M** A**
-
Mesajlar
217
-
Beğeniler
55 / 48
-
Ticaret
0, (%0)
// id value, -1'den büyük ve sadece tam sayı
// kendin fonksiyon yazıp kullanırsan, daha sonra "tüm sistemdeki"
// her kodu tek tek değiştirmek zorunda kalmazsın, direk fonksiyonu değiştirince olay çözülür
function idval($id) {
return max(intval($id), 0);
}
Murat Alabacak <http://muratalabacak.net>
-
Üyelik
15.02.2015
-
Yaş/Cinsiyet
34 / E
-
Meslek
Webmaster
-
Konum
İstanbul Avrupa
-
Ad Soyad
Ç** T**
-
Mesajlar
28
-
Beğeniler
0 / 0
-
Ticaret
0, (%0)
Teşekkürler Arkadaşlar Ben genelde bu yapıyı kullanıyorum bu zamana kadar hiçbir sıkıntı yaşamadım $id = (int) intval($_GET["id"]); sadece yeterlimi diye düşündüm sanırım yeterli :)