HTMLawed adalah pustaka berbasis bahasa pemrograman PHP yang berfungsi untuk menyaring, membersihkan, dan memvalidasi kode HTML agar sesuai dengan standar spesifikasi serta aman dari kerentanan keamanan seperti Cross-Site Scripting (XSS). Kueri pencarian tutorial htmlawed bahasa indonesia merujuk pada kebutuhan pengembang lokal untuk memahami cara kerja, instalasi, serta penerapan fungsi htmlawed() dalam aplikasi web berbasis PHP guna mencegah injeksi skrip berbahaya oleh pengguna.
Dalam praktiknya, fungsi utama HTMLawed adalah memastikan bahwa elemen dan atribut HTML yang dimasukkan melalui input formulir, kolom komentar, atau panel admin berada dalam koridor aman yang telah ditentukan. Pustaka ini bekerja dengan mem-parsing string HTML, memperbaiki tag yang tidak ditutup dengan benar, serta menghapus atribut berbahaya seperti onerror, onload, atau skrip JavaScript di dalam atribut href.
Instalasi HTMLawed dalam Proyek PHP
HTMLawed didistribusikan sebagai satu berkas skrip PHP tunggal yang sangat ringan tanpa ketergantungan pustaka eksternal pihak ketiga (zero dependencies). Anda tidak memerlukan Composer untuk menginstalnya, meskipun Anda tetap bisa mengunduhnya secara manual atau melalui manajer paket jika tersedia.
- Unduh berkas sumber utama
htmLawed.phpdari repositori resmi atau situs sumber terbuka yang menyediakan distribusi stabil. - Letakkan berkas
htmLawed.phpke dalam direktori pustaka atau vendor proyek PHP Anda, misalnya pada folderincludes/ataulibs/. - Sertakan berkas tersebut ke dalam skrip PHP Anda menggunakan fungsi
includeataurequiresebelum melakukan pemanggilan fungsi pembersihan.
Sintaks Dasar dan Contoh Penggunaan
Penerapan dasar HTMLawed sangat sederhana. Anda cukup memanggil fungsi htmLawed() dengan menyediakan argumen berupa string HTML kotor yang ingin dibersihkan, diikuti dengan parameter konfigurasi opsional.
<?php
// Sertakan berkas pustaka htmLawed
require_once 'htmLawed.php';
// Input HTML mentah dari pengguna yang berpotensi tidak aman
$input_kotor = '<p>Halo Dunia! <script>alert("XSS Attack");</script><a href="javascript:alert(1)" onclick="HuruHara()">Klik Disini</a></p>';
// Konfigurasi parameter keamanan dasar
$konfigurasi = array(
'safe' => 1, // Mengaktifkan mode aman otomatis
'deny_attribute' => 'style, class' // Contoh menolak atribut tertentu jika diperlukan
);
// Menjalankan fungsi htmLawed
$hasil_bersih = htmLawed($input_kotor, $konfigurasi);
// Menampilkan hasil
echo $hasil_bersih;
?>
Tabel Parameter Konfigurasi Utama HTMLawed
HTMLawed menyediakan puluhan parameter konfigurasi yang dapat diatur melalui array asosiatif untuk menyesuaikan tingkat keketatan penyaringan. Berikut adalah tabel parameter yang paling sering digunakan dalam pengembangan aplikasi web:
| Parameter | Tipe Nilai | Fungsi dan Kegunaan |
|---|---|---|
safe |
0 atau 1 | Jika bernilai 1, secara otomatis memblokir elemen dan atribut yang berisiko memicu eksekusi skrip berbahaya. |
elements |
String | Membatasi tag HTML apa saja yang diizinkan untuk dilewati oleh penyaring (whitelist elemen). |
deny_attribute |
String | Menentukan atribut spesifik yang harus dihapus dari semua elemen HTML. |
keep_bad |
0, 1, atau 2 | Mengatur penanganan tag terlarang; apakah dihapus seluruhnya, diubah menjadi teks biasa, atau dibiarkan. |
comment |
0 atau 1 | Menentukan apakah komentar HTML (<!-- komentar -->) diizinkan atau harus dibuang. |
Panduan Langkah demi Langkah Penerapan di Form Input
Untuk mengamankan data yang dikirimkan melalui formulir web, terapkan langkah-langkah teknis berikut pada skrip pemrosesan backend (misalnya process.php):
- Tangkap data input mentah dari metode HTTP POST atau GET, contohnya
$komentar = $_POST['komentar_pengguna'];. - Tentukan aturan keamanan menggunakan array konfigurasi. Untuk standar keamanan umum, cukup gunakan parameter
'safe' => 1. - Panggil fungsi
htmLawed($komentar, array('safe' => 1))untuk menyaring kode berbahaya. - Simpan hasil keluaran yang sudah bersih ke dalam database atau tampilkan kembali ke peramban web dengan aman.
Troubleshooting & Tips Lapangan
Kendala yang sering ditemui pengembang saat menggunakan HTMLawed meliputi:
- Tag HTML terhapus otomatis: Pastikan parameter
safetidak berbenturan dengan aturanelementskustom Anda. Modesafe => 1memiliki daftar putih bawaan yang ketat. - Karakter khusus rusak (Encoding): Selalu pastikan dokumen PHP dan koneksi database Anda menggunakan pengkodean karakter UTF-8 untuk menghindari masalah tampilan huruf khusus atau multibahasa.
- Kinerja skrip: Untuk performa optimal pada aplikasi skala besar dengan lalu lintas tinggi, lakukan penyaringan hanya pada sisi penyimpanan data (backend), bukan setiap kali halaman dirender ulang.