Skip to content
TECHYTIMENEWS | Menginformasikan Inovasi Tren dan Transformasi Digital
Menu
  • Home
    • Blog
  • Global
  • Teknologi
    • Otomotif
  • Inovasi
  • Digital
    • Tren
    • Internet
Menu

Muncul Pesan Disallowed Key Characters di Website? Ini Penjelasannya

Posted on May 16, 2025

Muncul Pesan Disallowed Key Characters di Website? Ini Penjelasannya

Bagi sebagian pengguna website atau pengelola situs berbasis PHP dan framework seperti CodeIgniter, mungkin pernah menjumpai pesan error berbunyi: “Disallowed Key Characters”. Pesan ini muncul ketika sistem mendeteksi adanya karakter yang tidak diizinkan atau dianggap berbahaya dalam input data, baik dari URL, form, maupun permintaan HTTP lainnya.

Muncul Pesan Disallowed Key Characters di Website? Ini Penjelasannya
Muncul Pesan Disallowed Key Characters di Website? Ini Penjelasannya

Secara teknis, pesan ini bukan bug atau kesalahan sistem fatal, melainkan mekanisme keamanan yang sengaja diaktifkan untuk mencegah serangan injeksi, XSS, atau manipulasi data lainnya.


Muncul Pesan Disallowed Key Characters di Website? Ini Penjelasannya

Error “Disallowed Key Characters” biasanya muncul karena sistem mendeteksi karakter aneh atau tidak sesuai standar input yang diperbolehkan oleh framework (misalnya CodeIgniter). Karakter-karakter yang mencurigakan ini bisa berasal dari:

  1. URL query string yang tidak valid

  2. Form input dengan karakter khusus

  3. Header HTTP request yang dimodifikasi

  4. Manipulasi data dari pengguna atau bot jahat

Contoh karakter yang sering ditolak:

  • Tanda kurung []

  • Tanda plus +

  • Tanda kutip ' atau "

  • Tanda kutip backtick `

  • Karakter escape \

  • Atau kombinasi tertentu seperti ../, <script>, dan karakter yang biasa digunakan untuk injeksi


Contoh Kasus Sederhana

Misalnya Anda memiliki website dengan URL seperti ini:

php-template
https://domainanda.com/page?data=<script>alert(1)</script>

Atau:

arduino
https://domainanda.com/page?filter[title]=Test

Framework seperti CodeIgniter secara default akan menolak karakter <, >, dan tanda kurung siku [] dalam parameter query karena dapat digunakan untuk injeksi skrip berbahaya. Maka hasilnya adalah munculnya pesan:

mathematica
Disallowed Key Characters

Di Mana Error Ini Umumnya Muncul?

Pesan ini sering muncul pada aplikasi berbasis:

  • PHP Framework seperti CodeIgniter, Laravel (dengan config tertentu)

  • CMS kustom atau backend admin

  • Website e-commerce yang memiliki form pencarian atau filter

  • API endpoint yang menerima input dari parameter GET atau POST


Fungsi Keamanan Input Filter

Perlu diketahui bahwa sistem validasi karakter ini adalah bagian dari lapisan keamanan (security layer). CodeIgniter, misalnya, menerapkan fungsi Input Class yang secara otomatis memfilter semua data yang masuk melalui GET, POST, COOKIE, dan lain-lain.

Tujuan utamanya adalah:

  • Melindungi dari serangan Cross Site Scripting (XSS)

  • Mencegah SQL Injection

  • Menjaga agar sistem hanya menerima input valid

  • Mengurangi potensi crash aplikasi akibat input rusak


Bagaimana Cara Mengatasi Error Ini?

Meskipun tujuan mekanisme ini baik, terkadang pengguna atau developer tetap ingin mengizinkan karakter tertentu untuk fungsi khusus. Berikut beberapa solusi yang dapat dipertimbangkan:


1. Validasi dan Sanitasi Input

Langkah pertama dan paling aman adalah memastikan input data divalidasi dengan baik. Jika pengguna ingin memasukkan karakter seperti [] atau +, sebaiknya:

  • Gunakan encoding URL yang benar (misalnya %5B untuk [)

  • Bersihkan data di sisi frontend sebelum dikirim ke backend

  • Gunakan fungsi PHP htmlspecialchars() atau urlencode() untuk menghindari error


2. Modifikasi File Input.php (Jika Menggunakan CodeIgniter)

Jika menggunakan CodeIgniter, Anda bisa mengatur ulang karakter yang diperbolehkan di file system/core/Input.php atau override-nya:

php
protected function _clean_input_keys($str)
{
if ( ! preg_match('/^[a-z0-9:_\/-]+$/i', $str))
{
exit('Disallowed Key Characters.');
}
return $str;
}

Namun, mengubah regex ini sangat tidak disarankan jika Anda tidak paham implikasinya terhadap keamanan. Lebih baik ubah logika input di sisi frontend atau gunakan teknik encoding URL yang benar.


3. Gunakan URL Routing yang Aman

Hindari menyisipkan karakter tidak umum dalam parameter URL. Sebagai alternatif:

  • Gunakan ID atau slug yang hanya mengandung angka dan huruf

  • Jika ingin mengirim array atau data kompleks, gunakan metode POST dan bukan GET

  • Untuk aplikasi REST API, lebih baik kirimkan data melalui header atau body JSON


4. Ubah Config Filter (Jika Sangat Terpaksa)

Di beberapa versi framework, Anda dapat mengatur konfigurasi input filter secara global. Misalnya, di CodeIgniter:

php
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';

Anda dapat menambahkan karakter yang dibutuhkan, tetapi pastikan Anda memahami risikonya. Jangan pernah menambahkan karakter seperti <, >, =, atau " tanpa alasan yang sangat jelas dan kontrol ketat.


5. Gunakan Teknik POST daripada GET

Jika Anda mengirim data formulir yang mengandung banyak simbol, karakter khusus, atau nilai array, gunakan metode POST. POST lebih fleksibel dan tidak sensitif terhadap batasan karakter URL dibandingkan GET.


Apakah Error Ini Menunjukkan Serangan?

Tidak selalu. Bisa jadi pengguna hanya salah ketik atau memasukkan URL secara manual. Namun, jika error “Disallowed Key Characters” muncul berulang kali dengan pola yang mencurigakan, bisa jadi:

  • Ada bot yang mencoba melakukan injection

  • Upaya scanning celah keamanan

  • Uji coba brute-force atau pengetesan sistem oleh hacker

Dalam hal ini, Anda bisa:

  • Mengaktifkan log keamanan untuk merekam parameter GET/POST mencurigakan

  • Memblokir IP secara otomatis jika ada percobaan terus-menerus

  • Menggunakan Web Application Firewall (WAF) untuk perlindungan tambahan


Tips Developer untuk Mencegah Error Serupa

  1. Selalu encode data dengan benar saat mengirim dari frontend ke backend

  2. Gunakan filter_input() atau filter_var() di PHP untuk memvalidasi input

  3. Hindari query langsung menggunakan data GET tanpa validasi

  4. Sediakan halaman error yang ramah pengguna saat error terjadi

  5. Jangan menonaktifkan filter keamanan kecuali benar-benar paham risikonya

Baca juga: Google Ganti Logo G Pertama dalam 10 Tahun Terakhir


Kesimpulan

Pesan “Disallowed Key Characters” bukanlah error acak, melainkan bentuk perlindungan dari sistem terhadap input yang berpotensi membahayakan aplikasi. Meskipun menyulitkan di beberapa kasus, filter ini adalah tembok pertahanan pertama terhadap serangan siber.

Solusi terbaik bukanlah menonaktifkan filter, tetapi mengatur input dan validasi secara benar, serta menggunakan metode pengiriman data yang aman seperti POST atau JSON.

Bagi developer, memahami penyebab dan cara mengatasinya adalah langkah penting menuju pengembangan web yang aman dan stabil.

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Berita terbaru

  • 200 Ide Ucapan Harkitnas untuk Caption di Media Sosial Bernuansa Semangat 
  • Benarkah Apple Siapkan iPhone dengan Layar Mengelilingi?
  • Tablet Huawei MatePad Pro 12.2 Inci (2025) Resmi, Bawa Layar PaperMatte
  • Huawei Umumkan Smartwatch Watch Fit 4 dan Fit 4 Pro di Indonesia
  • Muncul Pesan Disallowed Key Characters di Website? Ini Penjelasannya

Recent Comments

No comments to show.

Archives

  • May 2025
  • April 2025
  • March 2025
  • February 2025
  • January 2025
  • December 2024

Categories

  • Digital
  • Global
  • Inovasi
  • Internet
  • Otomotif
  • Teknologi
  • Tren
  • Uncategorized
©2025 TECHYTIMENEWS | Menginformasikan Inovasi Tren dan Transformasi Digital | Design: Newspaperly WordPress Theme