Öncelikle Bu Alanda Profesyonel olma yolunda ilerlemekteyim %100 Güvenli diyebileceğimiz bir kod yoktur Forumda Malesef Yıl 2021 Olmasına Rağmen Projelerinde MYSQL kullanan Arkadaşlar Mevcut hem onların bilgilenmesi Açısından hemde kendini bu alanda geliştirmek isteyen arkadaşların ilerlemesi adına böyle bir konu açmaya karar verdim

PDO ile Güvenli Veri Ekleme

PDO ile Güvenli Veri Güncelleme

PDO ile Güvenli Veri Silme

2- Kullanıcıdan Gelen Verileri Filtreleme
Gelen İsteklerdeki SQL Kodlarını Silerek Ve Filtreleme Yaparak Güvenlik Anlamında biraz daha geliştirme sağlayabilirsiniz Aşağıda Yazdığım ufak functiona bakalım İçerisine Girdiğimiz Veri Bu Şekilde

Kullandığımız Kodda sql functionlarını filtrelediğimiz ve html kodlarınıda izin vermediğimiz için Çıktı Bu Şekilde Olacaktır

3-Yapılan Hatalar
Bir çok Arkadaşımızın Yaptığı en büyük hata Kullanıcıdan gelen veriyi doğrudan sql koduna dahil etmek alttaki örnekteki gibi bu şekilde işlem sağlayınca Dışarıdan müdahaleye bir kapı açmış oluyoruz

1-Veritabanı Function Seçimi
Php 5.6 Ya kadar En Çok Kullanılan Function Olan mysqli php 7 nin çıkması ile yerini pdo ya bırakmıştır PDO mysql ye göre hem daha güvenli hemde daha performanslıdır
Bu Nedenle anlatımıma pdo ile devam edeceğim
Örnek Bir MYSQL Bağlantısı
Php 5.6 Ya kadar En Çok Kullanılan Function Olan mysqli php 7 nin çıkması ile yerini pdo ya bırakmıştır PDO mysql ye göre hem daha güvenli hemde daha performanslıdır
Bu Nedenle anlatımıma pdo ile devam edeceğim
Örnek Bir MYSQL Bağlantısı
$baglanti = mysql_connect("localhost","root","123456") or die ();
mysql_select_db("test", $baglanti) or die ( mysql_error() );Örnek Bir PDO Bağlantısıtry {
$db = new PDO("mysql:host=localhost;dbname=test", "root", "123456");
} catch ( PDOException $e ){
print $e->getMessage();//Hata Olursa Çıktı Olarak Ekrana Yazdırır
}PDO İle Güvenli Veri Listeleme
PDO ile Güvenli Veri Ekleme

PDO ile Güvenli Veri Güncelleme

PDO ile Güvenli Veri Silme

2- Kullanıcıdan Gelen Verileri Filtreleme
Gelen İsteklerdeki SQL Kodlarını Silerek Ve Filtreleme Yaparak Güvenlik Anlamında biraz daha geliştirme sağlayabilirsiniz Aşağıda Yazdığım ufak functiona bakalım İçerisine Girdiğimiz Veri Bu Şekilde

Kullandığımız Kodda sql functionlarını filtrelediğimiz ve html kodlarınıda izin vermediğimiz için Çıktı Bu Şekilde Olacaktır

3-Yapılan Hatalar
Bir çok Arkadaşımızın Yaptığı en büyük hata Kullanıcıdan gelen veriyi doğrudan sql koduna dahil etmek alttaki örnekteki gibi bu şekilde işlem sağlayınca Dışarıdan müdahaleye bir kapı açmış oluyoruz

Google Chrome bu gibi açıkları Engellemek için filtreleme yapsada url de her tarayıcıda bulunmamakta bu filtreleme ' bunun %27 ye dönüştüğünü deneyerek te görebilirsiniz

Bu gibi kodlarda Dışarıdan Müdahale Edilerek Veritabanınızı silebilir günceleyebilir listeleyebilirler

4-Tavsiyeler
Kaynak Kodu
indir
http://trxyazilim.com/r10/guvenlisql1.zip
