v2.5.2
Giriş yap

PHP base64 biçiminde png resim için güvenlik

azizdmrr
680 defa görüntülendi

Çalışma sistemim tam olarak şu şekilde;

HTML kısmında <img type="file" name="resim"> şeklinde bir adet resim yükleme kısmım var.
Ardından bunu jquery'nin "croppie" eklentisi ve bootstrap'ın da yardımlarıyla base64'e çevirip bunu php'de parçalayarak almak istiyorum

Örnek bir kullanımı burada mevcut.

<?php

if(isset($_POST["resim"])){

header ('Content-type: image/png');
 $data = $_POST["resim"];
 $image_array_1 = explode(";", $data);
 $image_array_2 = explode(",", $image_array_1[1]);
 $data = base64_decode($image_array_2[1]);
 $imageName =  md5(time().rand(0,99999).rand(0,9999)) . '.png';

 file_put_contents($imageName, $data);

 print_r($imageName);
}

Biliyorum ki bu şekilde paylaşırsam saldırı altında olacağım. En basit yöntemle header("") fonksiyonu veya .htaccess ile kurtulabilir miyim? Yoksa çok ekstra bir koruma yapmazsam shell atağı yer miyim diye endişelendiğim için yardım almak istedim. Sizin önerileriniz nelerdir?

-Şimdiden teşekkür ediyorum.-

kargasa1982
1251 gün önce

Konu ile alakalı değil ama, güvenlik için söylüyorum;

bir sitede (4-12. sınıf) öğrenciler profil resmi ekleyip güncelleyebiliyordu ve güvenlik kısmını atlamıştım. Gerçekten resim dosyasımı değil mi diye bakmıyor sadece uzantıya göre dosyaları klasöre upload ediyordum. Sonra bir gün bir baktım ki uyanığın biri shell yapmış ve resim gibi yüklemiş sonra tabiki çalıştırınca sunucuda gelsin mining gitsin mining. Aslında bazen asıl konuya odaklanınca, çok küçük şeylerden nasıl bir güvenlik zaafiyeti doğacağını unutuyoruz. Bu site işlerinde çok evhamlı olmakta fayda var.