Pada materi Mengenal CSRF Protection Pada Codeigniter kali ini kita akan membahas apa itu yang dimaksud dengan CSRF Protection Pada Codeigniter dan bagaimana untuk mengatasi serangan tersebut. CSRF singkatan dari (Cross-site Request Forgery) merupakan sebuah serangan pada website yang memanfaatkan form dan ketidak sadaran pengguna atau user, dimana nantinya hecker akan membuat sebuah url yang mengarahkan kepada sistem mereka dan nantinya akan dikirim oleh user dan user tersebut akan megklik url tersebut dan langsung merubah password mereka sendiri.

Tentunya cara ini sangatlah berbahaya maka dari itu kita membutuhkan sebuah protection yang dinamakan dengan CSRF Protection dimana nantinya kita harus meng-set nilai dari CSRF protection didalam config menjadi TRUE.

Untuk mengaktifkan CSRF Protection kita perlu melakukan beberapa pengaturan pada application > config > config.php  dan silahkan teman rubah $config[‘csrf_protection’] = FALSE; menjadi $config[‘csrf_protection’] = TRUE; seperti dibawah ini :

Mengenal CSRF Protection Pada Codeigniter 3.0

jika sudah kita akan coba membuat sebuah study case dengan membuat input pada form, langkah pertama silahkan teman-teman buat sebuah controller dengan nama Security.php selanjut silahkan teman-teman buat sebuah class dan method seperti dibawah ini pada controller Security
Mengenal CSRF Protection Pada Codeigniter 3.0

selanjutnya kita akan membuat tampilan formnya pada views dengan nama security.php seperti dibawah ini :

Mengenal CSRF Protection Pada Codeigniter 3.0

Jika sudah kita akan coba jalankan pada browser maka akan terlihat seperti dibawah ini :

Mengenal CSRF Protection Pada Codeigniter 3.0

Pada gambar diatas hanya terlihat form biasa kita buat namun jika lihat sourcenya yang terdapat pada browser dengan cara klik kanan view source atau teman-teman bisa tekan ctrl + u pada keyboard maka akan terlihat input type hidden yang berisikan kode token atau kode acak yang berfungsi untuk mengatasi serangan yang terdapat pada form seperti dibawah ini :

Mengenal CSRF Protection Pada Codeigniter 3.0

Pada script diatas terdapat input type hidden, dengan name csrf_test_name, dan value yang berisikan sebuah code acak atau token.

Mengenal CSRF Protection Pada Codeigniter 3.0

Input tersebut merupakan hasil dari kita mengaktifkan $config[‘csrf_protection’] = TRUE; pada config.php dan code tersebut akan berubah-ubah pada saat kita meng-klik tombol submit, jadi pada setiap form yang akan kita buat nantinya akan mempunyai kode unik seperti gambar diatas.

Kesimpulannya yaitu : CSRF bekerja dengan cara mencocokan kode token yang terdapat pada form dengan cookie yang kita miliki, sehingga pada saat kita membuka form maka akan mendapatkan kode token yang baru, namun jika seseorang tidak memiliki kode token tersebut maka data yang di inputkan tidak dapat masuk kedatabase.

Oke teman-teman sekian dulu tutorial kita kali ini tentang Mengenal CSRF Protection Pada Codeigniter 3.0 semoga bermanfaat.

Terimakasih.