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

Posted by Luqman Hakim

I am Luqman Hakim Y, founder of this blog. I am Software Engineer and Cyber Security Enthusiast from Indonesia.

10 Comments

  1. Berhasil di localhost tapi waktu di upload ke domain kenapa error ya

    Reply

  2. Call to undefined function encrypt_url()
    Mohon bantuannya gan.
    Makasih 😊

    Reply

    1. saya juga error

      Reply

  3. Sangat membantu gan.. tapi kalau di hosting masih eror.

    Reply

    1. bisa diinfokan errornya gan?

      Reply

  4. iya saya juga error pas dihosting

    Call to undefined function encrypt_url()

    Reply

    1. coba ubah nama file helpernya ke security_helper.php
      pakai undercase semua

      Reply

      1. iya ternyata kalo hosting wajib lowercase, udah bisa , makasih yaa

        Reply

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.