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

  • 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
  • Siapa Daud Tony yang Ramal Jatuhnya Saham & Harga Emas-Perak?
  • Berapa Cuan Dari 1.000 Tayangan Reels Facebook Pro?
  • Apakah Jika Ganti Baterai HP, Data akan Hilang?
  • Apa itu Game Sakura School Simulator Solwa?
  • Hasil Benchmark Xiaomi Pad 8 Global Bocor! Siap-siap Masuk Indonesia Nih
  • KAGET! Ressa Rizky Rossano Akui Sudah Nikah & Punya Anak
  • Inilah Kronologi Ledakan Bom Rakitan SMPN 3 Sungai Raya, Kubu Raya Kalbar
  • Cara Mengatasi Error 208 BCA Mobile
  • Hapus Sekarang! Inilah Hornet, App LGBTQ Tembus Indonesia, Hati-hati
  • Berapa Lama Sih Ngecas HP 33 Watt? Ini Dia Penjelasannya!
  • Cara Cek Saldo Hana Bank Lewat SMS
  • Update Sistem Google Februari 2026: Apa yang Baru dan Perlu Kalian Tahu?
  • Membership FF Bulanan & Mingguan: Berapa DM yang Harus Kalian Siapkan?
  • Maksimal Ngecas HP Berapa Kali Sehari? Boleh 2 Kali Nggak, Sih?
  • Cara Mengatasi Error “Try Again, Open in Another App”
  • Mozilla (Finally) Adds Option to Disable Generative AI in Browser
  • LibreOffice 26.2 Released: Faster Performance & New Features Explained
  • How to Fix 9HEHW Error in Outlook & Teams
  • Ubuntu 24.04.4 LTS HWE Now Available: Key Updates and Fixes for Users
  • Windows 11 Build 28020.1546 Released in Canary Channel: Cloud App Fixes Inside
  • 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
  • Tutorial Membuat Sistem Automatic Content Recognition (ACR) untuk Deteksi Logo
  • Apa itu Google Code Wiki?
  • 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 Morning Star Kursi Gaming/Kantor disini: https://s.shopee.co.id/805iTUOPRV
Beli Pemotong Rumput dengan Baterai IRONHOOF 588V Mesin Potong Rumput 88V disini https://s.shopee.co.id/70DBGTHtuJ

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