SQL Injection Nedir?
27
●2.435
- 30-10-2012, 23:18:21Emeğine saygı duyuyorum arkadaşım fakat mysql_query, mysql_real_escape_string vs. yani mysql fonksiyonları artık deprecated(kullanılması önerilmeyen, vadesi dolmuş) fonksiyonlardır. Ne acıdır ki bir çok büyük kuruluşlun yazılımcıları bile bundan haberdar değildir. Halbuki php.net'e biraz göz gezdirirseniz bu bilgilere kolaylıkla ulaşabilirsiniz. Bu fonksiyonların yerine artık procedural veya object oriented olarak mysqli fonksiyonları veya object oriented olarak pdo_mysql kullanılmalıdır. Eğer sql injection ı hayatınızdan tamamen çıkarmak istiyorsanız birde prepared statements ve query binding nedir ne değildir araştırmalısınız. (http://php.net/manual/en/pdo.prepared-statements.php) Profesyonelliğe ilk adımınız bunlarla olabilir mesela.
Saygılar... - 31-10-2012, 17:57:09Ö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.satriani adlı üyeden alıntı: mesajı görüntüle
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. - 01-11-2012, 21:35:19Tabikide eleştirilerim şahsınıza değildir, geneledir. Ben bazı konularda kendimi tutamayıp biraz katı olabiliyorum kusura bakmayın, yanlış anlaşılmak istemem. Fakat bazı şeyler baştan nasıl öğrenilirse o şekilde devam ediyor. Şahsi görüşüm o an için en doğrusu, en günceli ne ise onun öğrenilmesidir. Yazılıma yeni başlayanlar bilgiye aç bir şekilde internet üzerinde doğru yanlış ne bulurlarsa onu alıyorlar ve çoğu zamanda yanlış bilgilerin ışığında ilerliyorlar malesef. Videodaki anlatımınız gayet anlaşılır, vakit ayırıp bilginizi paylaşmanız çok güzel bir olay. Bu noktada saygı duyuyorum başka birşey demiyorum. PeaceOfisSoft adlı üyeden alıntı: mesajı görüntüle
- 01-11-2012, 21:43:36Sql injectionla ugrasmamak ve daha iyi seo icin htaccess yontemiyleloc adlı üyeden alıntı: mesajı görüntüle
haber/2-haber-basligi.html
Gibi yapabilirsiniz hem sql inj. Onler hem adres satirinda haber ismini bastirip daha iyi indexler alina bilir
Sent from my iPhone using Tapatalk