Mengamankan string koneksi
Melindungi akses ke sumber data Anda adalah salah satu tujuan terpenting untuk membantu mengamankan aplikasi. Untuk membatasi akses ke sumber data, Anda harus mengambil tindakan pencegahan untuk membantu mengamankan informasi koneksi seperti ID pengguna, kata sandi, dan nama sumber data. Menyimpan ID pengguna dan kata sandi dalam teks biasa, seperti dalam kode sumber Anda, menyajikan masalah keamanan yang serius. Bahkan jika Anda menyediakan versi kode yang dikompilasi yang berisi ID pengguna dan informasi kata sandi di sumber eksternal, kode yang dikompilasi berpotensi dibongkar dan ID pengguna dan kata sandi terekspos. Akibatnya, sangat penting bahwa informasi penting seperti ID pengguna dan kata sandi tidak ada dalam kode Anda.
Rekomendasi
Disarankan untuk tidak menyimpan kata sandi bersama dengan URL koneksi dalam kode sumber aplikasi. Sebagai gantinya, pertimbangkan untuk menyimpan kata sandi dalam file terpisah yang memiliki akses terbatas. Akses ke file tersebut dapat diberikan ke konteks tempat aplikasi berjalan.
Pendekatan lain adalah menyimpan kata sandi terenkripsi dalam file. Pastikan Anda menggunakan API enkripsi yang tidak mengharuskan kunci disimpan di suatu tempat dan tidak berasal dari kata sandi pengguna. Misalnya, Anda dapat mempertimbangkan untuk menggunakan pasangan kunci publik/privat berbasis sertifikat, atau menggunakan pendekatan di mana dua pihak menggunakan protokol perjanjian kunci (algoritma Diffie-Hellman) untuk menghasilkan kunci rahasia yang identik untuk enkripsi tanpa harus mengirimkan kunci rahasia.
Jika Anda mengambil informasi string koneksi dari sumber eksternal, seperti pengguna yang menyediakan ID pengguna dan kata sandi, Anda harus memvalidasi input apa pun dari sumber untuk memastikan bahwa itu mengikuti format yang benar dan tidak berisi parameter tambahan yang memengaruhi koneksi Anda.