PHP ile Güvenli Resim Yükleme (URL ve File)

PHP ile güvenli resim yüklemek için en önemli noktalardan bir tanesi, sunucumuza gönderdiğimiz dosyanın ismini şifrelemektir. Bu şifreleme sizin dosyanızın yolunu rastgele atayacak ve olası SHELL saldırılarına karşı bir nebzede olsa engel olacaktır.Şimdi sizelere URL linkinden ve $_FILE ile iki türlü bu işlemi örneklendireceğim.

1. PHP ile URL’den güvenli resim yükleme (Upload) işlemi:

 /* * Author: Bercan Özcan * GitHUB: github.com/bercanozcan * Twitter: twitter.com/bercanozcan * */ <?php $url = "http://www.bercanozcan.com/wp-content/uploads/2015/04/logo.png"; // URL linkimizi değişkene atadık.	$type=substr($url,-4); // URL'nin son 4 harfini alırsak, bu uzantımız olmuş oluyor. if($type == ".png" || $type == ".jpg" || $type == ".gif"){ //uzantı kontrolü yaparak koşulumuzu belirttik. $uret = array("b1t","b2t","b3t","b4t","b5t","b6t","b7t","b8t","b9t","b0t"); // Dizi oluşturduk, kendinize göre belirleyebilirsiniz. $dosyaadi = $uret[rand(0,9)].rand(10000,9999999).$type; // Oluşturduğumuz diziden rastgele seçim yaptırdık, sonrasında rand() fonksiyonu ile rastgele sayıdan oluşan bir dosya ismi seçtirdik ve en sonuna uzantisi ekledik. $dir = "upload/".$dosyaadi; // Dosyamızın kayıt edileceği yeri belirledik. touch($dir); // Belirlediğimiz yere dosyayı olutruduk. $kaynak = file_get_contents($url); // Dosyamınızn resimin kaynağını aldık. $insert = file_put_contents($dir,$kaynak); // Oluşturduğumuz dosyanın içine dosyayı yazdık. if($insert){ //Eğer yazma başarılı ise echo "Resim kaydedildi."; //başarılı yaz }else{ //Yazma başarılı değil ise echo "Dosya kaydedilmedi"; unlink($dir); //Dosyayı sildik. } }

2. PHP ile POST methodunu kullanarak güvenli resim yükleme (Upload) işlemi:

İnternet ve yazılım dünyası ile 2002 yılında Ankara bir alışveriş merkezinin bilgi İşlem departmanında tanıştım. Visual BASIC dili ile yola çıktığım yazılım dünyası serüvenim 2002-2004 yıllarında C, C++ dilleri ile devam etti.

Bir şeyler söyleyin:

E-posta adresiniz kimse ile paylaşılmayacaktır. Sadece ben rahatsız ederim.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Site Footer