PHP base64 biçiminde png resim için güvenlik
Ç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.-
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.