Mencapai keamanan situs web melibatkan aspek-aspek berikut:
Otentikasi identitas : Proses konfirmasi identitas dan keaslian pengguna. Empat jenis otentikasi disediakan di ASP.NET:
Sertifikasi Windows
otentikasi formulir
Otentikasi
Otentikasi khusus
Otorisasi : Proses menentukan dan menetapkan peran tertentu kepada pengguna tertentu.
Kerahasiaan : Termasuk enkripsi untuk browser klien dan server web.
Integritas : Menjaga integritas data. Misalnya penerapan tanda tangan digital.
Secara umum, otentikasi berbasis formulir melibatkan pengeditan file konfigurasi jaringan dan halaman pendaftaran dengan kode verifikasi. File konfigurasi jaringan dapat ditulis dengan kode berikut:
<configuration><system.web> <authentication mode="Forms"> <forms loginUrl ="login.aspx"/> </authentication> <authorization> <deny users="?"/> </authorization></system .web>......</konfigurasi>
Halaman login.aspx yang disebutkan dalam cuplikan kode di atas mungkin berisi kode berikut, termasuk nama pengguna dan kata sandi untuk otentikasi, yang sulit untuk dikodekan dalam file.
dilindungi bool autentikasi(String uname, String pass){ if(uname == "Tom") { if(pass == "tom123") return true } if(uname == "Dick") { if(pass == " dick123") mengembalikan nilai benar; } if(uname == "Harry") { if(pass == "har123") mengembalikan nilai benar; } mengembalikan salah;}public void OnLogin(Objek src, EventArgs e){ if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked } else { Response.Write("Nama pengguna atau kata sandi tidak valid" }}
Perhatikan bahwa kelas FormsAuthentication digunakan untuk proses otentikasi.
Namun, Visual Studio memudahkan implementasi pembuatan, autentikasi, dan otorisasi pengguna melalui alat manajemen situs web tanpa menulis kode apa pun. Alat ini memungkinkan pembuatan pengguna dan peran.
Selain itu, ASP.NET memiliki rangkaian kontrol login siap pakai yang dapat mengontrol dan melakukan semua pekerjaan untuk Anda.
Untuk menyiapkan otentikasi berbasis formulir, Anda perlu melakukan hal berikut:
Basis data pengguna untuk mendukung proses otentikasi
Sebuah website yang menggunakan database
akun pengguna
Peran
Batasan aktivitas pengguna dan aktivitas grup
Halaman pengguna yang menampilkan status pengguna dan informasi lainnya
Antarmuka login yang memungkinkan pengguna untuk login, mengambil kata sandi, dan mengubah kata sandi.
Untuk membuat pengguna, langkah-langkah berikut perlu diambil:
Langkah 1: Pilih Situs Web->Konfigurasi ASP.NET untuk membuka alat manajemen aplikasi web.
Langkah 2: Klik Opsi Keamanan.
Langkah 3: Pilih opsi 'Otentikasi berbasis formulir' untuk mengatur jenis otentikasi ke 'Dari Internet'.
Langkah 4: Klik 'Buat Pengguna'. Jika Anda sudah membuat peran, Anda dapat menetapkan peran tersebut kepada pengguna pada langkah ini.
Langkah 5: Buat situs web dan tambahkan halaman berikut:
halaman selamat datang
Halaman masuk
Halaman pendaftaran
Halaman pemulihan kata sandi
Ubah halaman kata sandi
Langkah 6: Tetapkan kontrol status login di bagian login halaman selamat datang. Berisi dua kotak standar: LoggedIn dan LoggedOut.
LoggedIn memiliki opsi untuk melihat pengguna yang login, dan LoggedOut memiliki opsi untuk melihat pengguna yang logout. Anda dapat mengubah properti teks login dan logout di jendela properti.
Langkah 7: Siapkan kontrol LoginView di bawah kontrol LoginStatus. Anda dapat mengatur beberapa teks lain atau kontrol lain (seperti hyperlink, tombol, dll.) yang mencerminkan apakah pengguna telah login.
Kontrol ini memiliki dua kotak standar: kotak Anonim dan kotak LoggedIn. Pilih setiap tampilan dan tulis beberapa teks untuk ditampilkan pengguna ketika kotak kriteria dipilih. Teks harus ditempatkan di area yang ditandai merah pada gambar di bawah.
Langkah 8: Pengembang membuat pengguna aplikasi. Anda mungkin ingin mengizinkan pengunjung juga membuat akun pengguna. Untuk mencapai hal ini, Anda dapat menambahkan link di bawah kontrol LoginView yang membawa Anda ke halaman pendaftaran.
Langkah 9: Siapkan kontrol CreateUserWizard di halaman pendaftaran. Setel properti ContinueDestinationPageUrl dari kontrol ini untuk memastikan bahwa Anda dapat membuka halaman selamat datang.
Langkah 10: Buat halaman login. Siapkan kontrol Login di halaman ini. Kontrol LoginStatus secara otomatis terhubung ke halaman login. Anda dapat mengubah pengaturan default ini dengan membuat perubahan berikut pada file konfigurasi jaringan.
Misalnya, jika Anda menamai halaman login Anda signup.aspx, Anda dapat menambahkan baris kode berikut ke file konfigurasi Jaringan.
<configuration> <system.web> <authentication mode="Forms"> <forms loginUrl ="signup.aspx" defaultUrl = “Welcome.aspx†/> </authentication> </system.web></configuration>
Langkah 11: Pengguna sering lupa kata sandinya. Kontrol PasswordRecovery membantu pengguna mendapatkan kembali login ke akun ini. Pilih kontrol login. Buka tab kecilnya dan pilih 'Convert to Template'.
Dengan menyesuaikan antarmuka pengguna kontrol ini, tempatkan kontrol hyperlink di bawah tombol login. Kontrol ini harus dapat menghubungkan ke halaman pengambilan kata sandi.
Langkah 12: Tetapkan kontrol PasswordRecovery pada halaman pemulihan kata sandi. Kontrol ini memerlukan server email untuk mengirimkan kata sandi kepada pengguna.
Langkah 13: Tetapkan link ke halaman perubahan kata sandi di kotak LoggedIn pada kontrol LoginView di halaman selamat datang.
Langkah 14: Tetapkan kontrol ChangePassword pada halaman ubah kata sandi. Kontrol ini memiliki dua tampilan:
Sekarang jalankan aplikasi dan amati berbagai operasi keamanan. Anda dapat kembali ke alat manajemen aplikasi web dan mengklik opsi keamanan untuk membuat peran. Klik 'Buat Peran' untuk membuat beberapa peran untuk aplikasi ini.
Klik 'Kelola Pengguna' untuk menetapkan peran kepada pengguna.
Secure Sockets Layer (SSL) adalah protokol yang digunakan untuk memastikan koneksi aman. Dengan menggunakan SSL, browser mengenkripsi semua data yang dikirim ke server dan mendekripsi semua data dari server. Pada saat yang sama, server juga akan mengenkripsi dan mendekripsi semua data di Liangzi Browser.
URL untuk sambungan aman menggunakan protokol HTTPS, bukan protokol HTTP. Kunci kecil juga akan ditampilkan oleh browser yang menggunakan koneksi aman. Ketika browser secara aktif berkomunikasi dengan server menggunakan SSL, server mengirimkan sertifikat keamanan untuk mengautentikasi server itu sendiri.
Untuk menggunakan SSL, Anda perlu membeli sertifikat keamanan digital dari otoritas sertifikasi (CA) tepercaya dan menginstal sertifikat tersebut di server jaringan. Berikut ini adalah beberapa organisasi sertifikasi terpercaya dengan reputasi baik:
www.verisign.com
www.geotrust.com
www.thawte.com
SSL dibangun di semua browser dan server utama. Untuk mengaktifkan SSL, Anda perlu memasang sertifikat digital. Kekuatan sertifikat digital berbeda-beda tergantung pada panjang kunci yang dihasilkan selama proses enkripsi. Semakin panjang kuncinya, semakin aman sertifikatnya dan semakin aman pula koneksinya.
kekuatan | menggambarkan |
---|---|
40 bit | Mendukung sebagian besar browser tetapi mudah diretas. |
56 bit | Lebih kuat dari 40-bit. |
128 bit | Sulit untuk memecahkannya, tetapi tidak semua browser mendukungnya. |