Skip to content

emka.web.id

menulis pengetahuan – merekam peradaban

Menu
  • Home
  • Tutorial
  • Search
Menu

Cara Melindungi Upload File dengan Pemindaian Malware di PHP

Posted on May 14, 2024

Unggahan file berbahaya dapat melewati deteksi antivirus tradisional. Artikel ini membahas cara menggunakan API gratis untuk memindai file upload pada formulir PHP dari ancaman malware.

Pemindaian Malware Gratis

Dengan API gratis, kita dapat melakukan pemindaian tanda tangan malware dan pemindaian ancaman deterministik pada file yang diunggah. API ini mencakup lebih dari 17 juta ancaman virus dan malware, serta memungkinkan penetapan aturan khusus untuk memblokir kode berbahaya seperti skrip, makro, dan lainnya.

Mulai dengan API Key Gratis

API menyediakan key gratis dengan batasan 800 panggilan per bulan. Kita dapat menggunakan contoh kode di bawah ini untuk menyusun panggilan API:

Instalasi Perangkat Klien PHP

Pertama, kita perlu instal perangkat klien PHP menggunakan Composer:

composer require cloudmersive/cloudmersive_virusscan_api_client

Memanggil Fungsi Pemindaian

Selanjutnya, kita dapat memanggil fungsi pemindaian dengan penyesuaian aturan sesuai kebutuhan:

<?php
require_once(__DIR__ . '/vendor/autoload.php');

// Konfigurasi API key
$config = Swagger\Client\Configuration::getDefaultConfiguration()->setApiKey('Apikey', 'YOUR_API_KEY');

$apiInstance = new Swagger\Client\Api\ScanApi(
    
    
    new GuzzleHttp\Client(),
    $config
);

$input_file = "/path/to/inputfile"; // File yang akan dipindai
$allow_executables = true; // Izinkan file yang dapat dieksekusi (tidak disarankan)
$allow_invalid_files = true; // Izinkan file tidak valid (tidak disarankan)
$allow_scripts = true; // Izinkan file skrip (tidak disarankan)
$allow_password_protected_files = true; // Izinkan file terenkripsi (tidak disarankan)
$allow_macros = true; // Izinkan file dengan makro (tidak disarankan)
$allow_xml_external_entities = true; // Izinkan Entitas Eksternal XML (tidak disarankan)
$allow_insecure_deserialization = true; // Izinkan Deserialisasi Tidak Aman (tidak disarankan)
$allow_html = true; // Izinkan file HTML (tidak disarankan)
$restrict_file_types = "restrict_file_types_example"; // Batasi jenis file yang diizinkan

try {
    $result = $apiInstance->scanFileAdvanced($input_file, $allow_executables, $allow_invalid_files, $allow_scripts, $allow_password_protected_files, $allow_macros, $allow_xml_external_entities, $allow_insecure_deserialization, $allow_html, $restrict_file_types);
    print_r($result);
} catch (Exception $e) {
    echo 'Exception saat pemindaian: ', $e->getMessage(), PHP_EOL;
}
?>

Kesimpulan

Dengan pemindaian ini, kita dapat memblokir file yang mencurigakan secara kategoris tanpa bergantung sepenuhnya pada antivirus. Namun perlu dicatat bahwa pengaturan tertentu (tidak disarankan) meningkatkan risiko keamanan.

Terbaru

  • Cara Bikin Aplikasi SaaS Fullstack Sederhana dalam 10 Menit dengan Claude
  • Berapa Lama Verifikasi Dana Premium? Jangan Panik, Ini Penjelasannya!
  • NotebookLM Sekarang Bisa Kustomisasi Slide Presentasi Secara Dinamis
  • Review Lengkap Headset SteelSeries Arctis Nova Elite
  • Cara Cek Bansos Atensi YAPI 2026 dan Jadwal Cairnya!
  • Kenapa 2026 Bakal Jadi Tahun Kejayaan Gaming di Linux? Ini Jawabannya
  • Download Upload DNS dan SPTJM SD-SMP untuk Administrasi TKA 2026
  • Kenapa Disney Matikan Dolby Vision dan HDR10? Ini Penjelasannya
  • Kenapa Bobon Santoso Pensiun Dari Youtube? Ini Alasan Sebenarnya
  • Apakah Bootcamp Hacktiv8 Penipu atau Direkomendasikan?
  • Inilah Estimasi Waktu Pencairan TPG 2026 Sehabis SKTP Muncul di Info GTK
  • Cara Menggunakan openClaw untuk Kebutuhan SEO
  • Apakah Tunjangan Profesi Guru Hangus Karena SKTP Belum Terbit?
  • Cara Tarik Saldo PNM Digi ke Rekening & Daftar: Panduan Lengkap & Terbaru!
  • Apa itu Penipuan Michat Hotel?
  • Yang Baru di Claude 5 Sonnet
  • Tip Jadi Kreator di Pinterest Tahun 2026
  • Cara Jualan Produk Digital Tanpa Harus Capek Promosi Terus-Menerus
  • Rangkuman Strategi Bisnis Baru dari CEO Youtube 2026, Wajib Dibaca Kreator Nih
  • Apa itu Platform WeVerse? Ini Penjelasan Lengkapnya
  • Inilah Cara Mendapatkan 1000 Subscriber Cuma dalam 3 Hari Tanpa Edit Video Sama Sekali
  • Apa itu Shibal Annyeong yang Viral TikTok?
  • Apakah iPhone Inter Aman?
  • Kenapa Gemini AI Bisa Error Saat Membuat Gambar? Ini Penjelasannya!
  • Daftar Akun Moonton via Web Tanpa Aplikasi untuk MLBB
  • Cara Hapus Akun Terabox: Panduan Lengkap dan Aman
  • Khaby Lame’s $957M Digital Identity Deal Explained
  • Cek HP Anak, Apakah Ada Video Viral Cukur Kumis Bawah
  • Jika ATM Terpelanting, Apakah Saldo Aman?
  • Inilah 5 Rekomendasi Smartwatch Terbaik di Bawah Rp1 Jutaan
  • How to Fix Microsoft 365 License Errors 29 & 44 with Simple Steps
  • KDE Linux Nears Beta with 62% Progress, What’s Next?
  • PeaZip 10.9 Released, This is The New Feature
  • Wine 11.2 Released with Faster Debugging and 32-Bit Fixes for Linux Users
  • Microsoft Release Litebox: A Secure Library OS for Developers
  • Cara Membuat Knowledge Base Audit untuk Claude Project Agar Dokumen Kalian Nggak Berantakan
  • Cara Ubah Role Definition Menjadi Custom Instructions yang Efektif buat Claude Project
  • Cara Mendefinisikan Role Project Claude Agar Hasilnya Lebih Akurat dan Konsisten
  • Cara Buat AI Asisten Pribadi dengan Teknik RAG
  • Cara Membuat Podcast dari PDF dengan NotebookLlama dan Groq
  • Apa itu Spear-Phishing via npm? Ini Pengertian dan Cara Kerjanya yang Makin Licin
  • Apa Itu Predator Spyware? Ini Pengertian dan Kontroversi Penghapusan Sanksinya
  • Mengenal Apa itu TONESHELL: Backdoor Berbahaya dari Kelompok Mustang Panda
  • Siapa itu Kelompok Hacker Silver Fox?
  • Apa itu CVE-2025-52691 SmarterMail? Celah Keamanan Paling Berbahaya Tahun 2025
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ
Beli Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV

©2026 emka.web.id | Design: Newspaperly WordPress Theme