Skip to content

Perubahan Metode DataTables dari GET ke POST pada Admin SIKEMA → Daftar Keluhan#1538

Open
habibie11 wants to merge 2 commits into
devfrom
dev-waf-sikema
Open

Perubahan Metode DataTables dari GET ke POST pada Admin SIKEMA → Daftar Keluhan#1538
habibie11 wants to merge 2 commits into
devfrom
dev-waf-sikema

Conversation

@habibie11
Copy link
Copy Markdown
Contributor

issue #1526

Latar Belakang

WAF (Web Application Firewall) memblokir halaman DataTables pada menu Admin SIKEMA → Daftar Keluhan karena menggunakan metode GET yang mengirimkan seluruh parameter pencarian, sorting, dan filtering sebagai query string di URL. URL yang sangat panjang ini ditolak oleh WAF.

Solusi

Mengubah metode pengiriman DataTables dari GET (default) menjadi POST, sehingga parameter dikirim melalui request body, bukan URL. Pola yang digunakan Route::match(['GET', 'POST']) agar tetap backward-compatible.

Lingkup Perubahan

Routes (routes/web.php):

Sebelum Sesudah
Route::get('getdata', ...)->name('admin-komplain.getdata') Route::match(['GET', 'POST'], 'getdata', ...)->name('admin-komplain.getdata')

Blade View:

File Sebelum Sesudah
resources/views/sistem_komplain/index.blade.php:47 ajax: "{!! route(...) !!}" ajax: { url, type: "POST" }

Tidak Ada Perubahan

  • Controller — Method getDataKomplain() sudah kompatibel dengan GET dan POST.
  • CSRF — DataTables POST requests tidak memerlukan CSRF token.

Testing

File test baru: tests/Feature/Settings/SikemaDataTablesPostTest.php

  • 4 test cases (20 assertions):
    • POST request mengembalikan struktur DataTables yang valid (draw, recordsTotal, recordsFiltered, data)
    • POST request mengembalikan kolom yang diharapkan (judul, nama, kategori, status, anonim, aksi)
    • GET request masih berfungsi (backward-compatible)
    • POST dengan draw parameter dikembalikan dalam response

Semua test lulus.

Referensi

  • Implementasi mengikuti pola yang sudah ada di menu Data (Penduduk, Keluarga, Data Desa, dll.) yang menggunakan type: "POST" pada konfigurasi DataTables ajax.

@github-actions
Copy link
Copy Markdown

🔄 AI PR Review sedang antri di server...

Proses review akan segera dimulai di background — hasil akan muncul sebagai komentar setelah selesai.
Powered by CrewAI · PR #1538

@habibie11 habibie11 requested a review from affandii06 May 13, 2026 03:32
@affandii06 affandii06 added this to the M2 OpenDK 2606 milestone May 13, 2026
@pandigresik
Copy link
Copy Markdown
Contributor

OK

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants