Meng-enkripsi URL di Codeigniter – Mengirim data ID primary key sering dilakukan para developer web. ID primary key merupakan data yang vital. Karena ID primary key mewakili data tertentu dan setiap data memeiliki ID yang uniqe atau tidak sama antara satu dengan lainnya.
www.yoursite.com/edit_user/1
Pada url diatas merupakan contoh penerapan ID pada url, ID primary key dapat diketahui secara jelas. Tentunya hal ini cukup berbahaya karena ID tersebut dapat dimanipulasi. Untuk menanggulangi hal tersebut dapat dilakukan proteksi menjadi seperti dibawah ini sehingga lebih aman.
www.yoursite.com/edit_user/Umhxc2ZDeHlpc1JpYWNIUVdzNG1sZz09
Cara Mengenkripsi URL di CodeIgniter
Sebenarnya CodeIgniter sudah mempunyai library untuk melakukan enkripsi, namun menurut saya enkripsi yang digunakan kurang efisien jika digunakan untuk mengenkripsi ID pada URL.
Pertama, copas kode dibawah ini dan simpan di folder /application/helper/ dengan nama security.ini
[security] encryption_key=1111111111111111 ;16 digits iv=2456378494765431 ;16 digits encryption_mechanism=aes-256-cbc
* Ganti nilai iv sesuai dengan keinginan namun harus berjumalh 16 digit
Kemudian buat file security_helper.php pada folder /application/helper/ dan isikan dengan kode dibawah ini
Lalu edit file autoload.php yang terdapat di /application/config/, pada $autoload[‘helper’] tambahkan security
$autoload['helper']= array('security');
Selesai,
Untuk melakukan enkripsi url, tinggal memanggil encrypt_url($id);
<a href='<?=base_url("user/edit/".encrypt_url($id)."")' class="btn"></a>
Dan untuk melakukan dekripsi dapat menggunakan decrypt_url($id);
public function edit($id_user) { $id_user= decrypt_url($id_user); }
Sekian artikel mengenai Meng-enkripsi URL di Codeigniter,
Jika ada pertanyaan silahkan tulis di kolom komentar
Makasih gan
Berguna
Berhasil di localhost tapi waktu di upload ke domain kenapa error ya
Error nya apa?
Call to undefined function encrypt_url()
Mohon bantuannya gan.
Makasih 😊
saya juga error
Sangat membantu gan.. tapi kalau di hosting masih eror.
bisa diinfokan errornya gan?
iya saya juga error pas dihosting
Call to undefined function encrypt_url()
coba ubah nama file helpernya ke security_helper.php
pakai undercase semua
iya ternyata kalo hosting wajib lowercase, udah bisa , makasih yaa
Kalo di local lancar, dan di hosting error. Biasanya gara2 salah case di nama file atau pemanggilan. Karena windows ga peduli case, sedangkan hosting linux case sensitive
Sangat berguna nih buat project saya.. terima kasih banyak mas!