Öncelikle kullanılan yöntemler konusunda eleştirileriniz direk şahsıma geliyorsa eleştiri yapmadan önce neler yaptığımı, kim olduğumu yüzeysel olarak incelemiş olduğunuzu umut ediyorum. En basitinden 2009 yılında yayınladığım
CodeIgniter Framework video eğitim setinde Active Record ile mysql işlemlerinin nasıl yapılacağını anlattığımı görebilirsiniz.
Eğer şahsıma bir itham söz konusu değil ve genele yapılan bir eleştiriyse önceki paragrafı dikkate almanız gerekmiyor.
Bir konuyu anlatmadan önce her zaman php dilini öğrenmeye başladığım günleri hatırlarım. O günlerde yaşadığım sıkıntıları başkalarının yaşamaması için de anlatacağım konuyu mümkün olduğunca basite indirmeye ve her türlü detayı açıklamaya çalışırım. Bu derste hitap ettiğim kitlenin
başlangıç ve
orta seviyeye geçmeye çalışan kişiler olduğunu çok rahatlıkla gözlemleyebilirsiniz. PDO veya herhangi bir ORM kullanabilme seviyesinde olan birinin zaten "SQL Injection" konusunda bilgisiz olması pek mümkün değil.
Dolayısıyla hitap edilen kitlenin bu konuyu rahatlıkla anlayabilmesi için
klasik ve
yaygın kullanılan yöntemlerden ilerlemek gerekiyordu. PDO kullanan biri zaten mysql_connect komutunun ne işe yaradığını bilir ve dersi izlediğinde konuyu anlar. Ama elindeki kitapta hala "mysql_connect" komutları anlatılan, henüz object oriented ile tanışmamış birine zaten bilmediği "SQL Injection" konusunu kullan(a)madığı yöntemlerle anlatmaya çalışmak pek mantıklı bir hareket olmaz.
Sonuç olarak ders içeriğinde kullandığımız örnek kodlar bir araçtır. Amaç yazılımcılara "Kullanıcıdan aldığınız hiç bir değere güvenmeyin. Mutlaka gerekli doğrulama ve filtreleme işlemlerinden geçirin. Bunları yapmadığınız zaman SQL sorgunuz değiştirilir ve istenmeyen sonuçlar oluşur." mesajını aktarmaktır.