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

  • Inilah Cara Login EMIS 4.0 Kemenag dan Cek Syarat PPG Biar Nggak Ketinggalan Info!
  • iPhone Fold Bakal Ngegas! Baterai Terbesar Sepanjang Masa, Katanya Bocoran!
  • Goshare WhatsApp Penghasil Uang: Aman atau Penipuan? Fakta & Cara Kerjanya!
  • Samsung Galaxy S26 Ultra Bocor: Hanya Hitam dan Putih? S-Pen Juga Ikut Jadi Sorotan!
  • Sok Imut Cukur Kumis Viral di TikTok: Link Aman atau Jebakan?
  • Apakah Website Credinex: Legal atau Ilegal?
  • Cara Mengatasi Error: “Kenapa Situs Ini Tidak Dapat Dijangkau”
  • Day 1 Cukur Kumis Viral: 356 Menit Link di X dan Telegram Langsung Disorot Netizen
  • Beli HP di Shopee Aman Nggak Sih?
  • Apa itu Android Desktop Camera dari Google?
  • Notepad++ Diduga Disusupi Hacker State-sponsored!
  • Fitur Baru di Apple TV Februari 2026
  • Bilibili Legal Gak Sih? Yuk, Kupas Tuntas Soal Nonton Anime di Sana!
  • Bisakah Bayar QRIS Pakai GoPayLater?
  • Apakah Aplikasi Amar Bank Tunaiku: Legal, Penipu atau Tidak?
  • Apa itu Mac Configurator?
  • Kenapa No Token Gagal Terus? Begini Cara Memasukkan!
  • Kode Bank Terbaru 2026: Kenali Arti dan Fungsinya! Jangan Sampai Salah Transfer
  • Bahayanya ‘Kumpulan Grup Asupan Malam Hijab Lokal Bocil Indo’, Waspada Phising!
  • Kenapa Voucher Axis Gagal Terus? Ini Dia Penyebab & Cara Mengatasinya!
  • Kenapa Meta AI Nggak Muncul di WhatsApp Padahal Udah Update?
  • Cara Mengatasi Error SofaScore: Panduan Lengkap & Anti Ribet!
  • Asuransi Mobil Zurich Indonesia: Penipu atau Tidak? Bongkar Faktanya!
  • Apakah Web Sribu.com Penipuan untuk Freelancer atau Tidak?
  • Cara Menonaktifkan SpayLater & Spinjam: Panduan Lengkap & Anti Ribet!
  • Panik Lupa Passcode iPhone? Jangan Reset! Ini Cara Ampuhnya
  • Printer Ngambyuk! Cara Ampuh Atasi Error 709 di Windows 11
  • Apakah Koin Shopee Bisa Buat Bayar Shopee PayLater?
  • Strategi Lolos PTN: Bongkar Tuntas Pembobotan UTBK Berdasarkan Jurusan!
  • Apa itu Meta AI WhatsApp Business?
  • Linux News Roundup February 2026
  • How to Install JellyFin Media Server on Samsung TV with TizenOS
  • Why OneNote Clears Your Notes
  • AMD NPU Monitoring on Linux: A Beginner’s Guide to AI Chip Tracking!
  • How to Fix AMD Adrenalin’s Game Detection Issues on Windows
  • Cara Membuat Podcast dari PDF dengan NotebookLlama dan Groq
  • Tutorial Membuat Sistem Automatic Content Recognition (ACR) untuk Deteksi Logo
  • Apa itu Google Code Wiki?
  • Cara Membuat Agen AI Otomatis untuk Laporan ESG dengan Python dan LangChain
  • Cara Membuat Pipeline RAG dengan Framework AutoRAG
  • 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