article

Keamanan Pada CodeIgniter

Keamanan Pada CodeIgniter

Hallo plimber, di artikel kali ini, saya akan membahas seputar keamanan atau security pada CodeIgniter, tentu membuat web menjadi aman dan terprotect dari serangan orang-orang iseng atau nakal yang tidak bertanggung jawab merupakan sebuah kewajiban dari seorang programmer, bagaimana tidak pernah terjadi sebuah kasus yang mengakibatkan sebuah perusahaan rugi sampai bermilyaran hanya karena kesalahan penulisan dalam sebuah kode, sehingga terdapat celah pada keamanan aplikasi perusahaan tersebut, hal ini tentu dimanfaatkan oleh peretas untuk meraup keuntungan.

Nah dan di CodeIgniter ini kita bisa mengatasi berbagai macam serangan dari luar, salah satunya yaitu 

Mencegah XSS Attack

Xss attack merupakan salah satu ancaman pada website yang biasanya pelakunya berusaha meyusupkan kode script javascript atau html pada web, sehingga seolah olah kode susupan tersebut berasal dari website yang disusupi. Untuk lebih lanjutnya tentang XSS attack ini , berada di postingan saya selanjutnya

ads
ads

Pencegahan SQL Injection

Selanjutnya merupakan pencegahan SQL Injection, lalu apasih SQL Injection itu ? dilansir dari Wikipedia, SQL Injection adalah sebuah teknik yang menyalahgunakan sebuah celah keamanan yang terjadi dalam lapisan basis data sebuah aplikasi. Celah ini terjadi ketika masukan pengguna tidak disaring secara benar dari karakter-karakter pelolos bentukan string yang diimbuhkan dalam pernyataan SQL atau masukan pengguna tidak bertipe kuat dan karenanya dijalankan tidak sesuai harapan. Ini sebenarnya adalah sebuah contoh dari sebuah kategori celah keamanan yang lebih umum yang dapat terjadi setiap kali sebuah bahasa pemrograman atau skrip diimbuhkan di dalam bahasa yang lain.

Dalam CodeIgniter untuk pencegahan SQL Injection ini dapat menggunakan 3 cara yaitu :

  • Escaping Queries
  • Query Biding
  • Active Record Class

Menyembunyikan Error PHP

Ketika kita mengembangkan sebuah web, tentu pesan kesalahan ini sangat dibutuhkan dan memudahkan kita untuk mengoreksi error yang ada, namun apa jadinya apabila ketika web anda sudah dipublish dan ternyata masih ada error dan user pun melihatnya, tentu hal ini akan sangat tidak lucu tentunya, oleh karena itu di CodeIgniter ini ada 3 file yang berhubungan dengan error

  • PHP Error Reporting Level

Secara default, pesan kesalahan pada CodeIgniter akan ditampilkan, namun ada file index.php paa root folder CodeIgniter yang dapat anda gunakan untuk menampilkan pesan kesalahan, caranya adalah dengan mengubah bagian error_reporting() menjadi nol.

  • Database Error

Walaupun sebelumnya anda telah mematikan pesan kesalahan untuk PHP, namun hal ini tidak berarti pesan kasalahan untuk MySQL juga ikut disembunyikan, oleh karena itu ada dapat mematikan pesan kesalahan ini di application/config/database.php, kemudian set db_debug menjadi false, baris lengkapnya seperti berikut

$db[‘default’][‘db_debug’] = FALSE;

  • Error Log

Cara lain adalah mentransfer kesalahan ke file log. Jadi, itu tidak akan ditampilkan kepada pengguna di situs. Secara sederhana, tetapkan nilai log_threshold dalam $config array ke 1 dalam file application/config/config.php seperti yang ditunjukkan di bawah ini.

$config[‘log_threshold’] = 1;

Pencegahan CSRF

Dilansir dari kursuswebprogramming.com, CSRF singkatan dari (Cross-site Request Forgery) merupakan sebuah serangan pada website yang memanfaatkan form dan ketidak sadaran pengguna atau user, dimana nantinya peretas 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.

Di CodeIgniter sendiri sudah disediakan cara untuk mencegah CSRF ini, caranya dengan buka file application/config/config.php lalu ubah bagian baris $config['csrf_protection'] = FALSE; Menjadi

$config['csrf_protection'] =TRUE;

Referensi

Sumber :

https://www.tutorialspoint.com

0
Comments (0)
Unable to Comment
You need to be logged in to be able to post a comment. Click here to login

No comments yet. Be the first to comment.

From Author
Loading…
ads
ads
ads