Bildiğimiz üzere son kullanıcıya sitemize görsel yükleme iznini vermek her zaman problemdir. JPG, PNG gibi statik görseller için basit PHP komutları var tabii; yüklenin görseli resize edersiniz, içeride injection varsa bile bozar. Ya da resize komutu hata basar vs. vs. Ama en önemli nokta her zaman dinamik görsellerdir. Örneğin GIF. PHP'nin default extension takımı GIF'i süzmekte her zaman problem yaşar. İçine hack kod gömülmesi en kolay dosya tipidir.
Tabii burada GIF'i dinamik tutmaktan bahsediyorum, yoksa animasyonunu bozup pek ala saklarsınız güvenlice. Bunu yapan imagick gibi PHP extension'ları var ama bazen toplu satışı yapılan projelerde bazı hosting'ler buna sahip olmaz, kurmaz ve müşterilerimiz problemler yaşarlar.
MimeType kontrol, size kontrolü, width, height kontrolü bunların hepsi bypass'lanabilir şeyler. Gerçekten güvenli bir yükleme işlemi için geniş bir class yazmamız gerekiyor ki bu hususta yazılmış github projelerini inceledim; pek çoğu bir güvenlik garantisi veremiyor.
Aklıma ne geldi:
Biz niye uğraşalım? Imgur, ImgBB gibi back end'de 10 binlerce satır görsel güvenliği olan siteler ve bu sitelerin bize sundukları API'ler var.
En güvenli yol olarak düşüncem; son kullanıcıdan gelen görseli bu sitelerin API'lerine yönlendirip; eğer dosya başarıyla yüklendiyse (yani dosya valid bir görsel ise) dönüş olarak verdiği görsel URL'sini alıp; bu URL'yi sitemize curl ya da fopen ile kayıt etmek.
Sizce de bu tarz durumlarda çok harika bir yöntem değil mi?
Front End görsel yüklemesi hakkında
18
●375
- 10-09-2020, 18:04:31Neden oğraşmanız gerekiyor biliyor musunuz? Bu ülkede Imgur yasaklandı

Yasak kaldırıldı ( Birkaç ay öncesinde ) Türknet hala kaldırmamıştı. Siteye Imgur API ile resim yükleniyor ama internet sağlayıcısı yasağı kaldırmadığı için kullanıcı resmi göremiyor.
Tabii tekrar yasaklanma ihtimalide var.. - 10-09-2020, 18:06:22Imgur örnek, imgbb ve diğer tonlarca köklü görsel upload sitesi ve bunların api'leri var.Mehmetmasa adlı üyeden alıntı: mesajı görüntüle
- 10-09-2020, 18:07:07Hocam dikkatli okursanız son cümlem şöyle bitiyor: "bu URL'yi sitemize curl ya da fopen ile kayıt etmek." Bu görseli zaten sitemize geri kayıt ediyoruz URL'den alıp.Sigma adlı üyeden alıntı: mesajı görüntüle
- 10-09-2020, 18:08:59Dışarıda tutmak konusunda haklısınız ama zaten ordan geçerse biz öyle alırız sunucuya gibisinden demiş. Bence çok mantıklı.Sigma adlı üyeden alıntı: mesajı görüntüle
- 10-09-2020, 18:09:02Bende Imgur'ı örnek verdim, bu ülkede kullandığınız her servis bir anda yasaklanabilir.flyingatm adlı üyeden alıntı: mesajı görüntüle
Büyük ihtimalle sözlük yazılımınız için düşünüyorsunuz, yüz binlerce entry varken yasaklandığını düşünün? hiçbir ziyaretçi resimlere erişemeyecek..
Yukarıda arkadaşın söylediği gibi sadece gif formatı için olabilir, bütün resimleri vs barındırmak büyük risk.
Not : Sitene kayıt edeceksen neden olmasın. - 10-09-2020, 18:10:23Geri alabilmek mümkünse yani karşı taraftaki site kaptıldı engel yedi veriler silindi kolayca kurtarma şansı varsa olabilir yoksa tehditPeksoft adlı üyeden alıntı: mesajı görüntüle
- 10-09-2020, 18:10:43Hocam yazdığım yazıyı açık yazdım diye düşünüyorum ama sanırım son cümleyi atlamışsınız; burada barındırma diye bir şey yok. Eğer API'den gelen sonuç başarılı ise array içinde bize verdiği görseli sitemize yani kendi cihazımıza tekrar kayıt ediyoruz. Bu siteleri yalnızca güvenlik filtresi yapıyoruz.Mehmetmasa adlı üyeden alıntı: mesajı görüntüle
