Filter Upload Image di PHP


Filter Upload Image di PHP

Setiap Programer Website wajib mengetahui bahwa membuat Form Upload yang aman adalah salah satu tugas yang wajib diketahui oleh programer website karna pada bagian form upload sebenarnya mempunyai celah vulnerebelitas yang cukup tinggi dan  rentan untuk di serang oleh para hacker.

Biasanya untuk form upload image/gambar di PHP sering tidak dilakukan filter seperti berikut:

if(isset($_POST['submit'])){

tambahkan filter ekstensi file yang diperbolehkan di upload menjadi seperti ini.

$valid_ext = array('jpg','jpeg','png','gif','bmp');
$ext = strtolower(end(explode('.', $_FILES['productimage']['name'])));
if(isset($_POST['submit'])&&(in_array($ext, $valid_ext))){

move_uploaded_file($_FILES["productimage"]["tmp_name"], .......

Baca Juga : Cara Membuat Kirim email di PHP

mengapa harus di beri filter?
agar mempersulit attacker meng-upload atau memasang backdo0r ke website kita.
mempersulit hacker memasang webshell ke website kita.

Agar pesan error di PHP tidak muncul atau Cara Menghilangkan Pesan Notice, Warning dan deprecated di PHP ,caranya kamu dapat menambahkan code:

error_reporting(0);

Sebenarnya ada cara yang lebih bagus dalam memfilter upload image yaitu dengan menggunakan framework misal codeigniter. Mengapa ci? karena di codeigniter bisa diseting
    $config['allowed_types']        = 'gif|jpg|png';
allowed_types berfungsi untuk membatasi tipe file yang boleh di-upload.

private function _uploadImage()
{
    $config['upload_path']          = './upload/product/';
    $config['allowed_types']        = 'gif|jpg|png';
    $config['file_name']            = $this->product_id;
    $config['overwrite'] = true;
    $config['max_size']             = 1024; // 1MB

    $this->load->library('upload', $config);

    if ($this->upload->do_upload('image')) {
        return $this->upload->data("file_name");
    }
    
    return "default.jpg";
}

Dan eksekusinya menjadi susah di inject oleh attacker karena codeigniter menerapkan MVC yaitu Model-View-Controller / MVC adalah sebuah metode untuk membuat sebuah aplikasi dengan memisahkan data (Model) dari tampilan (View) dan cara bagaimana memprosesnya (Controller). 


Demikian artikel sederhana mengenai Filter Upload Image di PHP

Jika artikel ini bermanfaat silahkan di share !!!

Jika ada kritik dan saran silahkan tulis di kolom komentar !!!

daftarkan email anda untuk berlangganan artikel dengan gratis !!

0 Response to "Filter Upload Image di PHP"

Posting Komentar