Hic bir sey bir gecede ogrenilmez
Eger bu konuda daha onceden calismadiysaniz buradaki konulari tam olarak anlamaniz vakit alabilir. Bazi konulari tam anlayamayabilirsiniz, her konuda ekstra arastirma yapmaniz, kendi kendinize bunlari test sistemlerinde denemeniz her zaman faydali olacaktir. Genel olarak konseptlerin yerlesmesi ise duzenli sekilde bu gelisime devam etmeniz sayesinde olacaktir.
Zeka detaydir
Bilgisayar teknolojileri konusunda en buyuk yanilgilardan biri bu islerin ekstrem sekilde zekaya ihtiyac oldugunun dusunulmesidir. Bu isin %90 calismak, okumak, denemek %10 ise zeka seviyesidir. ozetle herkes 100 kisi icerisinde ilk on kisi icerisine sadece calisma ile girebilir.
Bakmayin, Okuyun
internette inanilmaz derecede fazla bilgi olmasi bilgiyi degersiz kilmaya basladi bu da tabii ki hizli okuma seanslarina neden oluyor. Okurken bildiginiz konulara bakin. Yani hepsini okumaniz gerekmiyor sadece gozucuyla uzerinden gecebilirsiniz. onceden bilmediginiz ekstra bir nokta olabilir, bunlari goz gezdirirken yakalayabilirsiniz.
Bilmediginiz konulari ise sakin kafa ile, gerekiyorsa kagit kalemle, bilgisayardan ya da printer ciktisindan satir-satir okuyun.
Konu kafaniza tam oturmadiysa devam edin ve o konunun sonuna gelin. Makalenin sonunda tum taslar yerine birden oturabilir ya da bunun olusmasi bu is uzerinde harcadiginiz belli bir vakitten sonra da olabilir.
SQL Injection konusuna giris yapalim.
Temel konular genellikle cok uzun degiller, eger bu temellerde sorun yasiyorsaniz esas makale detaylarina ve gelismis konulara girmeden once bu temelleri internetteki diger kaynaklardan arastirin ve iyice anlamaya calisin.
SQL Injection web uygulamalarinda ki en ciddi aciklarin basinda gelir. ozellikle frameworkler ve ORM (Object Relational Mapping) gibi ekstra veritabani katmanlarinin populerlesmesi ile eskisine gore bugunlerde biraz daha az gorulmektedir ama emin olun hala heryerdeler!
Web uygulamasi gelistiricilercileri SQL Injection' i tam anlamadiklarindan dolayi bazi olumcul hatalar yaparlar. Bu yuzden bugun bilinen basit SQL Injection metodlari o kadar cok gorunmese de ileri de anlatacagimiz ileri seviye SQL Injection aciklarini cok buyuk firmalardan, hazir sistemlere kadar bir cok yerde gorebilirsiniz.
Guvenlikteki buyuk gunahlardan biri kisilerin bazi aciklar hakkinda ben hackleyemediysem guvenlidir. diye dusunmeleri. Yazi dizisi boyunca bu sekilde bir dizi SQL Injection sehir efsanelerine de yer verecegiz.
Not : SQL Injection veritabanindan ve dilden bagimsiz olarak her turlu uygulama-veritabani iliskisine sahip sistemde bulunabilir ve bu veritabanlarinin bir acigi degildir. SQL Injection' dan korunmak web gelistiricisinin gorevidir.
SQL Nedir?
SQL (Structured Query Language) veritabanlarinda data cekme, silme ve degistirme gibi islemler icin kullanilan basit yapili bir dildir. Bugun hemen hemen tum web uygulamalarinin altyapisinda veritabani destegi vardir ve bu web uygulamalari veritabani ile SQL araciligiyla anlasirlar.
Bir siteye mesaj biraktiginizda bu mesaj veritabanina kaydedilir. O mesaj onaylandiginda veritabanindaki bir alan guncellenmis olur. Yonetici veritabanindaki kaydi silerek o mesajin siteden silinmesini saglar.
Örnek bir kayit silme SQL cumlesi su sekilde olabilir;
DELETE FROM members WHERE id=17
Yukaridaki kod veritabani tarafindan calistirildiginda members tablosunda id alani 17 olan kayit silinecektir.
sizlere sundugumuz bu makale SQL dilinin basit detaylarini ele almayacaktir. Eger SQL konusunda zayif iseniz makaleyi anlamaniz guc olacaktir. Makaleye devam etmeden once SQL in temel komutlarini ogrenmenizi ve veritabani mantiginiz anlamanizi tavsiye ederiz.
SQL Injection Nedir?
Web uygulamalarinda bir cok islem icin kullanicidan alinan veri ile dinamik SQL cumlecikleri olusturulur. Mesela (SELECT * FROM Products) ornek SQL cumlecigi basit sekilde veritabanindan web uygulamasina tum urunleri dondurecektir. Bu SQL cumlecikleri olusturulurken araya sikistirilan herhangi bir ****-karakter SQL Injection' a neden olabilir.