Mengapakah keselamatan perisian merupakan kemahiran yang perlu dimiliki oleh semua pengaturcara?

Sebagai pengaturcara atau pembangun, kepentingan mencipta aplikasi selamat tidak boleh diabaikan.

Keselamatan perisian menangani pengurusan serangan berniat jahat dengan mengenal pasti potensi kelemahan dalam perisian dan mengambil langkah berjaga-jaga yang perlu untuk melindunginya.

Perisian tidak boleh 100% selamat kerana pembangun boleh mengabaikan pepijat, memperkenalkan pepijat baharu semasa membetulkan pepijat sedia ada atau memperkenalkan kelemahan baharu melalui kemas kini.

Walau bagaimanapun, terdapat dua kaedah utama yang boleh digunakan oleh semua pembangun perisian untuk memastikan mereka mencipta perisian yang selamat. Ia mengenai menulis kod selamat dari awal dan menguji kod dengan berkesan.

Mengapakah keselamatan perisian merupakan kemahiran yang perlu dimiliki oleh semua pengaturcara?

Keselamatan perisian memainkan peranan yang sangat penting

Bagaimana untuk menulis kod selamat

Menulis kod selamat hanya mempunyai satu perkara yang perlu dilakukan - pengendalian ralat. Jika anda boleh menjangkakan setiap nilai berpotensi yang boleh diberikan oleh pengguna kepada aplikasi dan menjana respons dalam program untuk nilai itu, maka anda sedang menulis kod selamat.

Ini adalah lebih mudah daripada yang anda fikirkan, kerana semua pembangun yang baik mengetahui hampir segala-galanya tentang aplikasi yang mereka bangunkan. Oleh itu, anda harus mengetahui setiap nilai yang diperlukan oleh aplikasi anda untuk melaksanakan tugas (nilai yang diluluskan) dan memahami bahawa sebarang nilai lain yang mungkin wujud adalah nilai yang tidak diluluskan .

Tulis kod selamat

Katakan anda ingin mencipta program yang menerima hanya dua nilai integer daripada pengguna dan melakukan operasi penambahan pada mereka. Sebagai pembangun yang baik, anda kini mengetahui segala-galanya tentang aplikasi anda. Anda tahu semua nilai yang akan diterima oleh program ini (nilai integer) dan anda tahu tugas yang akan dilakukan oleh program ini (operasi penambahan).

Contoh mencipta program dalam Java

import java.util.Scanner;
public class Main {
//The main function that executes the program and collects the two values
public static void main(String[] args) {
System.out.println("Please enter your two integer values: ");
int value1;
int value2;
Scanner input = new Scanner(System.in);
value1 = input.nextInt();
value2 = input.nextInt();
addition(value1, value2);
input.close();
}
//the function that collects the two values and displays their sum
private static void addition(int value1, int value2) {
int sum;
sum = value1 + value2;
System.out.println("The sum of the two integer values you entered: "+ sum);
}
}

Kod di atas mencipta aplikasi yang sepadan dengan keperluan dengan tepat. Apabila dilaksanakan, ia akan menghasilkan baris berikut dalam konsol:

Please enter your two integer values:

Aplikasi kemudian akan kekal dijeda sehingga pengguna memasukkan dua nilai integer ke dalam konsol (bermaksud masukkan nilai pertama, tekan kekunci Enter , dan ulangi).

Jika pengguna memasukkan nilai 5 dan 4 dalam konsol, program menghasilkan output berikut:

The sum of the two integer values you entered: 9

itu hebat. Program ini melakukan apa yang sepatutnya dilakukan. Walau bagaimanapun, jika pengguna jahat masuk dan memasukkan nilai bukan integer, seperti "g", ke dalam aplikasi anda, akan ada masalah. Ini kerana tiada kod dalam aplikasi yang melindungi daripada nilai yang tidak diluluskan.

Pada ketika ini, aplikasi anda akan ranap, mewujudkan pintu masuk yang berpotensi ke dalam aplikasi anda supaya penggodam tahu dengan tepat apa yang perlu dilakukan seterusnya.

Contoh keselamatan program

import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
//The main function that executes the program and collects the two values
public static void main(String[] args) {
try {
System.out.println("Please enter your two integer values: ");
int value1;
int value2;
//using the scanner class to read each input from the user,
//and assign it to is respective variable (throws an exception if the values are not integers)
Scanner input = new Scanner(System.in);
value1 = input.nextInt();
value2 = input.nextInt();
//calls the addition function and passes the two values to it
addition(value1, value2);
//closes the input stream after it has come to the end of its use
input.close();
//handle all the errors thrown in the try block
}catch(InputMismatchException e){
System.out.println("Please enter a valid integer value.");
}catch(Exception e) {
System.out.println(e.getMessage());
}
}
//the function that collects the two values and displays their sum
private static void addition(int value1, int value2) {
int sum;
sum = value1 + value2;
System.out.println("The sum of the two integer values you entered: "+ sum);
}
}

Kod di atas adalah selamat kerana ia menjalankan pengendalian pengecualian. Oleh itu, jika anda memasukkan nilai bukan integer, program akan menjana baris kod berikut:

Please enter a valid integer value.

Apakah pengendalian Pengecualian?

Mengapakah keselamatan perisian merupakan kemahiran yang perlu dimiliki oleh semua pengaturcara?

Pengendalian pengecualian

Pada asasnya, pengendalian pengecualian ialah versi moden pengendalian ralat, di mana anda memisahkan kod pengendalian ralat daripada kod pengendalian biasa. Dalam contoh di atas, semua kod pengendalian biasa (atau kod yang berpotensi menyebabkan pengecualian) berada dalam blok percubaan dan semua kod pengendalian ralat berada dalam blok tangkapan.

Jika anda melihat lebih dekat pada contoh di atas, anda akan melihat bahawa terdapat dua blok tangkapan. Yang pertama mengambil hujah InputMismatchException - ini ialah nama pengecualian yang dilemparkan jika nilai bukan integer dimasukkan. Yang kedua mengambil argumen Exception , dan ini penting kerana tujuannya adalah untuk mencari sebarang pengecualian dalam kod yang tidak ditemui oleh pembangun semasa ujian.

Semak kod

Anda tidak boleh memandang rendah kuasa ujian dan ujian semula kod. Ramai pembangun (dan pengguna apl) menemui pepijat baharu selepas perisian itu tersedia kepada orang ramai.

Ujian menyeluruh terhadap kod anda memastikan anda mengetahui perkara yang akan dilakukan oleh aplikasi anda dalam setiap situasi yang boleh difikirkan, dan ini membolehkan anda melindunginya daripada pelanggaran data.

Pertimbangkan contoh di atas. Bagaimana jika, setelah selesai, anda hanya menguji aplikasi dengan nilai integer? Anda boleh membiarkan aplikasi menganggap anda telah berjaya mengenal pasti semua kemungkinan ralat sedangkan sebenarnya anda tidak melakukannya.

Realitinya ialah anda mungkin tidak dapat mengenal pasti semua kemungkinan ralat. Inilah sebabnya pengendalian ralat berfungsi seiring dengan menguji kod anda. Menguji atur cara di atas mendedahkan kemungkinan ralat yang akan berlaku dalam situasi tertentu.

Walau bagaimanapun, jika beberapa ralat lain yang tidak muncul semasa ujian wujud, maka blok tangkapan kedua dalam kod di atas akan mengendalikannya.

Keselamatan pangkalan data

Jika aplikasi anda bersambung ke pangkalan data, cara terbaik untuk menghalang akses kepada pangkalan data itu ialah memastikan semua aspek aplikasi selamat. Walau bagaimanapun, bagaimana jika aplikasi anda direka dengan tujuan semata-mata untuk menyediakan antara muka kepada pangkalan data tersebut?

Di sinilah perkara menjadi lebih menarik. Dalam bentuk paling asasnya, pangkalan data membenarkan pengguna menambah, mendapatkan semula, mengemas kini dan memadam data. Sistem pengurusan pangkalan data ialah aplikasi yang membolehkan pengguna berinteraksi secara langsung dengan pangkalan data.

Kebanyakan pangkalan data mengandungi data sensitif, oleh itu, untuk mengekalkan integriti dan mengehadkan akses kepada data ini, terdapat keperluan - kawalan akses.

Kawalan capaian

Kawalan capaian bertujuan untuk mengekalkan integriti pangkalan data dengan menentukan jenis orang yang boleh mengakses pangkalan data dan menyekat jenis capaian yang mereka miliki. Oleh itu, sistem pengurusan pangkalan data yang baik mesti dapat merekodkan siapa yang mengakses pangkalan data, bila, dan apa yang mereka lakukan.

Ia juga boleh menghalang pengguna berdaftar daripada mengakses atau mengedit data yang mereka tidak dibenarkan untuk berinteraksi.

Tinggalkan Komen

Bagaimana untuk mengalih keluar notis permintaan hak cipta di sudut kanan skrin pada Windows 10

Bagaimana untuk mengalih keluar notis permintaan hak cipta di sudut kanan skrin pada Windows 10

Adakah anda melihat pemberitahuan pengaktifan Windows 10 di sudut kanan skrin? Artikel ini akan membimbing anda cara memadamkan notis permintaan hak cipta pada Windows 10.

Arahan daripada AZ tentang cara memasang Windows 10 build 14393.222

Arahan daripada AZ tentang cara memasang Windows 10 build 14393.222

Baru-baru ini Microsoft mengeluarkan kemas kini kumulatif terkini untuk pengguna PC Windows 10 yang dipanggil Build 14393.222. Kemas kini yang dikeluarkan untuk Windows 10 ini terutamanya membetulkan pepijat berdasarkan maklum balas pengguna dan meningkatkan pengalaman prestasi sistem pengendalian.

Lindungi rangkaian komputer anda dengan hos Bastion hanya dalam 3 langkah

Lindungi rangkaian komputer anda dengan hos Bastion hanya dalam 3 langkah

Adakah anda mempunyai komputer pada rangkaian tempatan anda yang memerlukan akses luaran? Menggunakan hos benteng sebagai penjaga pintu untuk rangkaian anda boleh menjadi penyelesaian yang baik.

3 cara untuk mengosongkan semua log peristiwa dalam Windows 10 dengan cepat

3 cara untuk mengosongkan semua log peristiwa dalam Windows 10 dengan cepat

Kadangkala anda mungkin perlu memadamkan log peristiwa lama sekaligus. Dalam panduan ini, Quantrimang.com akan menunjukkan kepada anda 3 cara untuk memadam semua log peristiwa dalam Windows 10 Event Viewer dengan cepat.

Cara membuat kunci Windows jika papan kekunci anda tidak tersedia

Cara membuat kunci Windows jika papan kekunci anda tidak tersedia

Jika anda lebih suka menggunakan papan kekunci klasik lama, seperti IBM Model M, yang tidak termasuk kekunci Windows fizikal, terdapat kaedah mudah untuk menambah lagi, dengan meminjam kunci yang anda jarang gunakan. .

Cara membuat mod latar belakang telus pada Windows 10

Cara membuat mod latar belakang telus pada Windows 10

WindowTop ialah alat yang mempunyai keupayaan untuk meredupkan semua tetingkap aplikasi dan program yang dijalankan pada komputer Windows 10. Atau anda boleh menggunakan antara muka latar belakang gelap pada tingkap.

Kaedah IP palsu membantu anda mengakses tanpa nama

Kaedah IP palsu membantu anda mengakses tanpa nama

Dalam banyak artikel sebelumnya, kami telah menyebut bahawa kekal tanpa nama dalam talian adalah sangat penting. Maklumat peribadi dibocorkan setiap tahun, menjadikan keselamatan dalam talian semakin diperlukan. Itulah juga sebab kita harus menggunakan alamat IP maya. Di bawah, kita akan belajar tentang kaedah untuk mencipta IP palsu!

Bagaimana untuk mematikan bar Bahasa pada Bar Tugas Windows 8

Bagaimana untuk mematikan bar Bahasa pada Bar Tugas Windows 8

Bar Bahasa pada Windows 8 ialah bar alat bahasa kecil yang direka untuk dipaparkan secara automatik pada skrin Desktop. Walau bagaimanapun, ramai orang ingin menyembunyikan bar bahasa ini pada Bar Tugas.

Petua untuk mengoptimumkan kelajuan sambungan Internet daripada Linksys

Petua untuk mengoptimumkan kelajuan sambungan Internet daripada Linksys

Memaksimumkan kelajuan Internet adalah penting untuk mengoptimumkan sambungan rangkaian anda. Anda boleh menikmati hiburan dan pengalaman kerja yang optimum menggunakan komputer, TV sedia Internet, konsol permainan, dsb.

Bagaimana untuk menyediakan WEP, WPA, WPA2 untuk penghala Linksys

Bagaimana untuk menyediakan WEP, WPA, WPA2 untuk penghala Linksys

Kesambungan wayarles adalah satu keperluan hari ini dan kerana itu, keselamatan wayarles adalah penting untuk memastikan keselamatan dalam rangkaian dalaman anda.