PHPMaker memiliki pilihan untuk menentukan Operator Pencarian yang diijinkan untuk dipakai saat proses pencarian data berlangsung di Aplikasi Web yang dihasilkannya. Anda dapat mengaturnya dengan mudah melalui tab Fields. Meskipun demikian, hal itu tidak berarti Operator Pencarian yang lainnya tidak dapat digunakan.
Pengguna yang cerdik ternyata masih bisa mengakalinya dengan cara mengubah Operator Pencarian secara langsung melalui URL yang dihasilkan begitu Pengguna mengklik tombol Cari. Contoh, yang tadinya di URL terlihat LIKE, maka Pengguna dapat menggantinya menjadi NOT+LIKE.
Sekilas memang tidak ada yang aneh di sini. Tapi kalau kita perhatikan dan analisis lebih dalam lagi, dampak dari kondisi ini mengakibatkan adanya data yang tadinya tidak boleh ditampilkan melalui pembatasan kriteria pencarian, akhirnya menjadi bisa diakses.
Jika Operator Pencarian standar yang diatur dari tab Fields adalah LIKE, maka itu bukan berarti Operator Pencarian lainnya seperti NOT LIKE tidak bisa digunakan. Operator Pencarian selain LIKE tadi ternyata masih tetap bisa digunakan.
Bayangkanlah jika hal ini terjadi, bukankah akan mengakibatkan permasalahan tersendiri? Data yang tadinya ingin Anda batasi menjadi dapat diekspos oleh Pengguna dengan sangat mudah.
Jangan khawatir! Bukan PHPMaker namanya jika Web Developer tidak bisa mengatasi permasalahan yang satu ini. PHPMaker masih tetap fleksibel, dengan memberikan kesempatan kepada Web Developer untuk memvalidasi Operator Pencarian yang boleh digunakan. Artinya, Operator Pencarian yang tidak memenuhi persyaratan dari hasil validasi tadi tidak dapat digunakan.
Jika Pengguna mencoba-coba mengganti Operator Pencarian melalui URL, maka sistem akan menolak dan menampilkan pesan yang memberitahukan bahwa Operator Pencarian tidak legal.
Penasaran ingin tahu caranya? Sabar… sabar…! 😀
Katakanlah Operator Pencarian yang akan divalidasi adalah untuk dua field berikut, yaitu: Propinsi dan Kabupaten. Selain itu, satu-satunya Operator Pencarian yang diijinkan adalah LIKE. Selain Operator Pencarian LIKE akan ditolak.
Solusinya sangatlah mudah dan cepat. Cukup dengan menyisipkan kode berikut ke dalam server event Form_CustomValidate yang terdapat di bawah lokasi ini: Server Events -> Table-Specific -> List Page:
if (isset($_GET["z_Propinsi"]) && $this->Propinsi->AdvancedSearch->SearchOperator <> "LIKE") { $CustomError = "Operator pencarian yang tidak valid terdeteksi."; return FALSE; } if (isset($_GET["z_Kabupaten"]) && $this->Kabupaten->AdvancedSearch->SearchOperator <> "LIKE") { $CustomError = "Operator pencarian yang tidak valid terdeteksi."; return FALSE; }
Kode ini mengakibatkan proses pencarian langsung dibatalkan seketika itu juga, disertai munculnya pesan error yang terdapat pada variabel $CustomError. Artinya, Pengguna tidak akan pernah bisa menampilkan data menggunakan Operator Pencarian yang tidak diijinkan.
Wow, PHPMaker memang muuuaantaaaap! Selalu ada solusi karena memang sudah terbukti bahwa betapa fleksibelnya PHPMaker. 😀
Tinggalkan Balasan