Apa itu keamanan?
Keselamatan adalah ukuran relatif, bukan standar mutlak.
Sayangnya sebagian besar proyek perangkat lunak mencantumkan keamanan sebagai persyaratan sederhana. Apakah aman? Jawaban atas pertanyaan ini sama subyektifnya dengan menanyakan apakah sesuatu itu panas.
Biaya tambahan untuk mencapai keamanan harus masuk akal.
Mencapai tingkat keamanan yang memadai adalah hal yang sederhana dan murah untuk sebagian besar aplikasi. Namun, jika informasi yang perlu dilindungi sangat berharga atau persyaratan keamanannya sangat ketat, Anda perlu membayar lebih untuk meningkatkan tingkat keamanan. Biaya ini harus dimasukkan dalam anggaran proyek.
Kemudahan penggunaan harus masuk akal untuk mencapai keamanan.
Fenomena yang sangat umum terjadi adalah meskipun keamanan aplikasi WEB meningkat pesat, kemudahan penggunaannya juga sangat berkurang. Kata sandi, waktu berakhirnya SESSION, dan kontrol akses semuanya akan menimbulkan hambatan bagi pengguna yang sah. Terkadang perlu untuk memberikan keamanan yang sesuai untuk suatu aplikasi, namun ini bukan satu-satunya solusi untuk semua aplikasi. Sebaiknya berikan perhatian lebih pada pengguna yang sah saat menerapkan aturan keamanan.
Keamanan harus menjadi bagian dari desain.
Jika Anda tidak mempertimbangkan keamanan saat merancang aplikasi, Anda ditakdirkan untuk terus menemukan kerentanan keamanan baru. Program yang ditulis dengan hati-hati tidak dapat menggantikan desain yang buruk.
Langkah-langkah dasar dalam aplikasi ini sebagian besar demi pengguna yang sah.
Desain yang aman hanyalah sebagian dari solusi. Selama pengembangan, saat pengkodean dimulai, penting untuk mempertimbangkan pengguna aplikasi yang sah. Secara umum, tujuannya adalah agar aplikasi berfungsi sebagaimana mestinya, sementara fungsionalitas aplikasi yang sesuai perlu diimplementasikan, namun tidak membuat aplikasi lebih aman.
Latih diri Anda sendiri.
Anda yang membaca panduan ini mengkhawatirkan keamanan, dan meskipun terdengar klise, ini adalah langkah penting. Ada banyak sumber daya yang tersedia di web atau di buku, dan banyak yang disertakan dalam repositori PHP Security Alliance: http://phpsec.org/library/
Pertama, filter semua data eksternal.
Pemfilteran data adalah landasan keamanan aplikasi WEB dalam bahasa apa pun dan pada platform apa pun. Menginisialisasi variabel dan memfilter semua data yang diperoleh dari luar memungkinkan Anda mendapatkan hasil dua kali lipat dengan setengah usaha, dan dengan biaya rendah, pengelola mencegah kemungkinan kerentanan keamanan yang besar. Daftar putih lebih baik daripada daftar hitam. Artinya semua data harus dianggap ilegal sampai bisa dibuktikan sah (lebih baik dari pada menganggap semua data legal sampai bisa dibuktikan ilegal).