Dosya Upload'da Dosya Türü Güvenliği

Çoğu sistemde sunucuya dosya yüklenilmesine ihtiyaç duyulur. Yer yer de yüklenilen dosyaların türleri yasaklanır. Peki dosya türü nasıl yasaklanır? Yasaklanması gereken dosya türü müdür yoksa adındaki uzantı yasağa yeterli mi? Amacım tür kısıtlamasında pek bilinmeyen daha doğrusu pek dikkat edilmeyen birşeyi yüzeye çıkarmak.

30 Mayıs 2010 Pazar

CI_Upload sınıfı güvenlik uyarısı

Maqas.Net seminerinde anlatmak üzere yaptığımız güvenlik çalışmaları esnasında farkettik ki, CI_Upload sınıfı sağlıklı bir filtreleme işlemi yapamıyor. Kendi belirlediği dosya türleri(mime type) ile çalışmak isteyen kişiler için riskler var. jpg, png ve gif dışındaki filtrelemelerde upload klasörüne kolaylıkla *.php (yada istediğiniz bir formatta) dosya gönderebiliyorsunuz. .htaccess dosyası aracılığı ile de yükleme klasörüne bir engelleme koymamışsanız dosya ve veritabanı bilgilerini çaldırabileceğiniz gibi, bilgilerin kaybolmasına da sebebiyet verebilirsiniz.

19 Mart 2010 Cuma

Array vs Object (Dizilere Karşı Nesneler)

PHP ile kod geliştirenlerin nesneleri veri tutmak amaçlı kullanma alışkanlığı olduğunu sanmıyorum.  PHP zengin kullanım şekilleri olan bir dil olduğundan kimisi nesne tabanlı, kimisi fonksiyonlar aracılığı ile kod yazarken kimisi de fonksiyon dahi kullanmadan tamamen düz metin gibi yazıyor :) Hepsini bir kenara atalım. Fonksiyonlar metodlar vs. vs. değil de biz bu nesneleri neden C dilindeki struct gibi bilgi tutmak amaçlı kullanmayalım ki?

10 Mart 2010 Çarşamba

MySQL kullanan Session Sınıfı

Unutmadan yazmak istediğim bir kaç husus var. O yüzden de yarım birşey bırakmayım diye, tez çalışmamın içinden oturum sınıfımı çıkarıp, kullanılabilir hale getirdim. Bundan önceki yazımda mysql'in nasıl session için araç olacağını anlatmıştım. Şimdi ise bunu nasıl sınıf aracılığı ile yapacağımızı anlatalım.

27 Ocak 2010 Çarşamba

1 2 3 4 5