IRC ve mIRC Paylaşım Platformu  

  IRC ve mIRC Paylaşım Platformu WEBMASTER BÖLÜMÜ Webmaster Genel Bölümü



Webmaster Genel Bölümü Webmaster ile ilgili her şey burada



PHP - SQL Injection'a Karşı Basit Koruma

Webmaster ile ilgili her şey burada


Kullanıcı Etiket Listesi

Like Tree1Beğeni(ler)
  • 1 Post By Oracle

 
Seçenekler Stil
Alt 04.04.2019, 21:15   #1


#Leonidas - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 02.04.2019
Mesajlar:60
Konuları: 50
Aldığı Beğeni: 9
Verdiği Beğeni: 3
Takımı:
PHP - SQL Injection'a Karşı Basit Koruma



PHP script yazarken (frameworksuz veya PDO’suz bir projede) get/post datalarını işlemek için aşağıdaki kodların kullanılması önerilir. Bu sayede SQL injection saldırıların büyük bir bölümü elimine edilir. Tabiki bu yöntem tek başına yeterli değildir. Sunucu bazında ve site link yapısı bazında da birtakım önlemler almak mümkündür.
Eğer sayı tipinde değerler dönmesini bekliyorsak;
$id = (int) intval( trim($_GET["id"]) );

Eğer metin tipinde değerler dönmesini bekliyorsak;
$id = mysqli_real_escape_string( trim($_GET["id"]) );

 #Leonidas isimli Üye şimdilik offline konumundadır       Alıntı

#Leonidas Kullanıcısının Son 5 Konusu
Konu Başlığı Forum Last Poster Cevaplar Okunma Son Mesaj
Harun ADİL – Aynı Şarkı Sözleri #Leonidas 0 47 09.04.2019 19:29
Remix Adam – 5 Milyon Ft Velet Şarkı Sözleri #Leonidas 0 51 09.04.2019 19:29
Bursa’nın Ufak Tefek Taşları Şarkı Sözleri #Leonidas 0 50 09.04.2019 19:28
Ruhumda Sızı Sözleri Şarkı Sözleri #Leonidas 0 69 09.04.2019 19:27
Edis – Bana Ne Şarkı Sözleri #Leonidas 0 52 09.04.2019 19:27

Alt 04.04.2019, 21:32   #2


Oracle - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 23.03.2019
Şehir: Kayseri
Mesajlar:17
Konuları: 8
Aldığı Beğeni: 32
Verdiği Beğeni: 5
Takımı:
Cevap: PHP - SQL Injection'a Karşı Basit Koruma



#Leonidas Nickli Üyeden Alıntı Mesajı göster
PHP script yazarken (frameworksuz veya PDO’suz bir projede) get/post datalarını işlemek için aşağıdaki kodların kullanılması önerilir. Bu sayede SQL injection saldırıların büyük bir bölümü elimine edilir. Tabiki bu yöntem tek başına yeterli değildir. Sunucu bazında ve site link yapısı bazında da birtakım önlemler almak mümkündür.
Eğer sayı tipinde değerler dönmesini bekliyorsak;
$id = (int) intval( trim($_GET["id"]) );

Eğer metin tipinde değerler dönmesini bekliyorsak;
$id = mysqli_real_escape_string( trim($_GET["id"]) );

Gayet güzel bir konuya değinmişsiniz, ancak sorgu öncesi TextBox'a girilen karakter içerisinde 'And, Or vb..' sorgu türleri olup olmadığını kontrol edip sonra sorguya geçmekte ekstra bir önlem.

Ek olarak PDO varken SQL kullanıp bu riski alan arkadaşlara da selamlar :)
#Leonidas bunu beğendi.

 Oracle isimli Üye şimdilik offline konumundadır       Alıntı
Alt 21.04.2019, 15:10   #3


KaptaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 21.04.2019
Mesajlar:4
Konuları: 1
Aldığı Beğeni: 7
Verdiği Beğeni: 0
Takımı:
Cevap: PHP - SQL Injection'a Karşı Basit Koruma



Proc kullanırsanız bu sorun olmaz

 KaptaN isimli Üye şimdilik offline konumundadır       Alıntı
Alt 21.04.2019, 15:22   #4


Oracle - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 23.03.2019
Şehir: Kayseri
Mesajlar:17
Konuları: 8
Aldığı Beğeni: 32
Verdiği Beğeni: 5
Takımı:
Cevap: PHP - SQL Injection'a Karşı Basit Koruma



KaptaN Nickli Üyeden Alıntı Mesajı göster
Proc kullanırsanız bu sorun olmaz

Kaptan, bu bir sorun değil ayrıca prosedür ile injection arasında nasıl bir alaka var anlamadım?

 Oracle isimli Üye şimdilik offline konumundadır       Alıntı
Alt 21.04.2019, 15:30   #5


KaptaN - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 21.04.2019
Mesajlar:4
Konuları: 1
Aldığı Beğeni: 7
Verdiği Beğeni: 0
Takımı:
Cevap: PHP - SQL Injection'a Karşı Basit Koruma



Proc kullanırsan ID leri gizlersin ve injection dan kurtulursun

 KaptaN isimli Üye şimdilik offline konumundadır       Alıntı
Alt 21.04.2019, 15:40   #6


Oracle - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: 23.03.2019
Şehir: Kayseri
Mesajlar:17
Konuları: 8
Aldığı Beğeni: 32
Verdiği Beğeni: 5
Takımı:
Cevap: PHP - SQL Injection'a Karşı Basit Koruma



KaptaN Nickli Üyeden Alıntı Mesajı göster
Proc kullanırsan ID leri gizlersin ve injection dan kurtulursun

ID gizlemek ile de alakası yok bu konunun, çok yanlış anladınız olayı.
  • ID gizlerseniz session alamazsınız,
  • injection; veritabanına gönderilmek istenen sorgunun soruna AND, or vb.. şeyler eklenir çok kompleks bir düzen değil,
  • Çözümü aslında basit, hatta günümüzde tartışılmaması bile gerekiyor. (injection yiyen yazılımcı bu işi yapmasın lütfen.)

Özetle, analizleriniz alakasız üstadım, bu konuda biraz pratik yapın derim, örnek SQL ile bir form yapıp hacklemeye çalışın ve sonuçlarını göreceksiniz.


Konu Oracle tarafından (21.04.2019 Saat 18:15 ) değiştirilmiştir.
 Oracle isimli Üye şimdilik offline konumundadır       Alıntı

Etiketler
php - sql


Şuan da bu konuyu görüntüleyenler: 1 (0 üye ve 1 misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

BB kodu Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodu Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı


Forumirc İştirakı olup tüm hakları saklıdır.