لماذا يعتبر أمن البرمجيات مهارة يجب أن يتمتع بها جميع المبرمجين؟

كمبرمج أو مطور، لا يمكن التغاضي عن أهمية إنشاء تطبيقات آمنة.

يعالج أمان البرامج إدارة الهجمات الضارة من خلال تحديد نقاط الضعف المحتملة في البرامج واتخاذ الاحتياطات اللازمة لحمايتها.

لا يمكن أبدًا أن تكون البرامج آمنة بنسبة 100% لأنه يمكن للمطورين تجاهل الأخطاء، أو تقديم أخطاء جديدة أثناء إصلاح الأخطاء الموجودة، أو إدخال نقاط ضعف جديدة من خلال التحديثات.

ومع ذلك، هناك طريقتان رئيسيتان يمكن لجميع مطوري البرامج استخدامهما للتأكد من قيامهم بإنشاء برامج آمنة. يتعلق الأمر بكتابة كود آمن من البداية واختبار الكود بشكل فعال.

لماذا يعتبر أمن البرمجيات مهارة يجب أن يتمتع بها جميع المبرمجين؟

يلعب أمان البرمجيات دورًا مهمًا للغاية

كيفية كتابة رمز آمن

كتابة التعليمات البرمجية الآمنة لها شيء واحد فقط يجب القيام به - معالجة الأخطاء. إذا كان بإمكانك توقع كل قيمة محتملة يمكن للمستخدم تقديمها للتطبيق وإنشاء استجابة في البرنامج لتلك القيمة، فأنت تكتب رمزًا آمنًا.

هذا أبسط بكثير مما قد تعتقد، حيث أن جميع المطورين الجيدين يعرفون كل شيء تقريبًا عن التطبيقات التي يقومون بتطويرها. لذلك، يجب أن تعرف كل قيمة يتطلبها تطبيقك لأداء مهمة ما (القيم المعتمدة) وأن تفهم أن أي قيم أخرى قد تكون موجودة هي قيم غير معتمدة.

كتابة رمز آمن

لنفترض أنك تريد إنشاء برنامج يقبل قيمتين صحيحتين فقط من المستخدم ويقوم بإجراء عملية إضافة عليهما. كمطور جيد، أنت الآن تعرف كل شيء عن تطبيقك. أنت تعرف جميع القيم التي سيقبلها هذا البرنامج (القيم الصحيحة) وتعرف المهمة التي سينجزها هذا البرنامج (عملية الجمع).

مثال على إنشاء برنامج في جافا

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);
}
}

يقوم الكود أعلاه بإنشاء تطبيق يطابق المتطلبات تمامًا. عند التنفيذ، سينتج السطر التالي في وحدة التحكم:

Please enter your two integer values:

سيظل التطبيق متوقفًا مؤقتًا بعد ذلك حتى يُدخل المستخدم قيمتين صحيحتين في وحدة التحكم (أي أدخل القيمة الأولى، ثم اضغط على مفتاح Enter ، ثم كرر).

إذا قام المستخدم بإدخال القيمتين 5 و 4 في وحدة التحكم، فسينتج البرنامج الإخراج التالي:

The sum of the two integer values you entered: 9

ذلك رائع. يقوم البرنامج بالضبط بما يفترض أن يفعله. ومع ذلك، إذا دخل مستخدم ضار وأدخل قيمة غير صحيحة، مثل "g"، في تطبيقك، فستكون هناك مشكلة. وذلك لأنه لا يوجد كود في التطبيق يحمي من القيم غير المعتمدة.

في هذه المرحلة، سيتعطل تطبيقك، مما يؤدي إلى إنشاء بوابة محتملة إلى تطبيقك حتى يعرف المتسللون بالضبط ما يجب عليهم فعله بعد ذلك.

مثال على أمن البرنامج

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);
}
}

الكود أعلاه آمن لأنه يقوم بمعالجة الاستثناءات. لذلك، إذا قمت بإدخال قيمة غير صحيحة، فسيقوم البرنامج بإنشاء السطر التالي من التعليمات البرمجية:

Please enter a valid integer value.

ما هو التعامل مع الاستثناء؟

لماذا يعتبر أمن البرمجيات مهارة يجب أن يتمتع بها جميع المبرمجين؟

معالجة الاستثناء

في الأساس، معالجة الاستثناءات هي الإصدار الحديث من معالجة الأخطاء، حيث تقوم بفصل كود معالجة الأخطاء عن كود المعالجة العادي. في المثال أعلاه، كل كود المعالجة العادي (أو الكود الذي يحتمل أن يسبب الاستثناء) موجود في كتلة المحاولة وكل كود معالجة الأخطاء موجود في كتلة الصيد.

إذا نظرت عن كثب إلى المثال أعلاه، سترى أن هناك كتلتين للالتقاط. يأخذ الأول وسيطة InputMismatchException - وهذا هو اسم الاستثناء الذي يتم طرحه إذا تم إدخال قيمة غير صحيحة. يأخذ الثاني وسيطة Exception ، وهذا مهم لأن الغرض منه هو العثور على أي استثناءات في الكود لم يجدها المطور أثناء الاختبار.

تحقق من الرمز

يجب ألا تقلل أبدًا من قوة اختبار الكود وإعادة اختباره. يجد العديد من المطورين (ومستخدمي التطبيق) أخطاء جديدة بعد إتاحة البرنامج للجمهور.

يضمن الاختبار الشامل للتعليمات البرمجية الخاصة بك أنك تعرف ما سيفعله تطبيقك في كل موقف يمكن تصوره، وهذا يسمح لك بحمايته من خروقات البيانات.

النظر في المثال أعلاه. ماذا لو، بمجرد الانتهاء، قمت باختبار التطبيق بقيم صحيحة فقط؟ يمكنك ترك التطبيق معتقدًا أنك قد حددت جميع الأخطاء المحتملة بنجاح، في حين أنك لم تفعل ذلك في الواقع.

الحقيقة هي أنك قد لا تكون قادرًا على تحديد جميع الأخطاء المحتملة. ولهذا السبب تعمل معالجة الأخطاء جنبًا إلى جنب مع اختبار التعليمات البرمجية الخاصة بك. يكشف اختبار البرنامج أعلاه عن خطأ محتمل سيحدث في موقف معين.

ومع ذلك، إذا كان هناك خطأ آخر لم يظهر أثناء الاختبار، فستتعامل معه كتلة الالتقاط الثانية في الكود أعلاه.

أمن قاعدة البيانات

إذا كان تطبيقك يتصل بقاعدة بيانات، فإن أفضل طريقة لمنع الوصول إلى قاعدة البيانات تلك هي التأكد من أن جميع جوانب التطبيق آمنة. ومع ذلك، ماذا لو تم تصميم التطبيق الخاص بك لغرض وحيد هو توفير واجهة لقاعدة البيانات المذكورة؟

هذا هو المكان الذي تصبح فيه الأمور أكثر إثارة للاهتمام. تسمح قواعد البيانات، في أبسط أشكالها، للمستخدمين بإضافة البيانات واسترجاعها وتحديثها وحذفها. نظام إدارة قاعدة البيانات هو تطبيق يتيح للمستخدمين التفاعل مباشرة مع قاعدة البيانات.

تحتوي معظم قواعد البيانات على بيانات حساسة، لذلك، للحفاظ على التكامل والحد من الوصول إلى هذه البيانات، هناك شرط - التحكم في الوصول.

صلاحية التحكم صلاحية الدخول

يسعى التحكم في الوصول إلى الحفاظ على سلامة قاعدة البيانات من خلال تحديد أنواع الأشخاص الذين يمكنهم الوصول إلى قاعدة البيانات وتقييد نوع الوصول الذي لديهم. لذلك، يجب أن يكون نظام إدارة قاعدة البيانات الجيد قادرًا على تسجيل من قام بالوصول إلى قاعدة البيانات ومتى وماذا فعلوا.

ويمكنه أيضًا منع المستخدمين المسجلين من الوصول إلى البيانات التي لا يُسمح لهم بالتفاعل معها أو تحريرها.

اترك تعليقاً

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

كيفية إزالة إشعار طلب حقوق الطبع والنشر في الزاوية اليمنى من الشاشة على نظام التشغيل Windows 10

هل ترى إشعار تفعيل Windows 10 في الزاوية اليمنى من الشاشة؟ سترشدك هذه المقالة إلى كيفية حذف إشعار طلب حقوق الطبع والنشر على نظام التشغيل Windows 10.

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

تعليمات من AZ حول كيفية تثبيت Windows 10 الإصدار 14393.222

أصدرت Microsoft مؤخرًا آخر تحديث تراكمي لمستخدمي أجهزة الكمبيوتر التي تعمل بنظام Windows 10 والذي يسمى Build 14393.222. يعمل هذا التحديث الذي تم إصداره لنظام التشغيل Windows 10 بشكل أساسي على إصلاح الأخطاء بناءً على تعليقات المستخدمين وتحسين تجربة أداء نظام التشغيل.

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

قم بحماية شبكة الكمبيوتر الخاص بك مع Bastion host في 3 خطوات فقط

هل لديك أجهزة كمبيوتر على شبكتك المحلية تحتاج إلى وصول خارجي؟ يمكن أن يكون استخدام مضيف أساسي كحارس بوابة لشبكتك حلاً جيدًا.

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

3 طرق لمسح كافة سجلات الأحداث بسرعة في نظام التشغيل Windows 10

في بعض الأحيان قد تحتاج إلى حذف سجلات الأحداث القديمة مرة واحدة. في هذا الدليل، سيعرض لك موقع Quantrimang.com 3 طرق لحذف كافة سجلات الأحداث بسرعة في Windows 10 Event Viewer.

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

كيفية إنشاء مفتاح Windows إذا كانت لوحة المفاتيح غير متوفرة

إذا كنت تفضل استخدام لوحة مفاتيح كلاسيكية قديمة، مثل IBM Model M، والتي لا تتضمن مفتاح Windows فعليًا، فهناك طريقة سهلة لإضافة المزيد، عن طريق استعارة مفتاح لا تستخدمه كثيرًا.

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

كيفية إنشاء وضع خلفية شفافة على نظام التشغيل Windows 10

WindowTop هي أداة لديها القدرة على تعتيم جميع نوافذ التطبيقات والبرامج التي تعمل على أجهزة الكمبيوتر التي تعمل بنظام Windows 10. أو يمكنك استخدام واجهة ذات خلفية داكنة على النوافذ.

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

تساعدك أساليب IP المزيفة على الوصول بشكل مجهول

لقد ذكرنا في العديد من المقالات السابقة أن البقاء مجهول الهوية عبر الإنترنت أمر في غاية الأهمية. يتم تسريب المعلومات الخاصة كل عام، مما يجعل الأمان عبر الإنترنت ضروريًا بشكل متزايد. وهذا أيضًا هو السبب وراء ضرورة استخدام عناوين IP الافتراضية. فيما يلي، سنتعرف على طرق إنشاء عناوين IP وهمية!

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

كيفية إيقاف تشغيل شريط اللغة على شريط مهام Windows 8

شريط اللغة في نظام التشغيل Windows 8 عبارة عن شريط أدوات لغة مصغر مصمم للعرض تلقائيًا على شاشة سطح المكتب. ومع ذلك، يرغب العديد من الأشخاص في إخفاء شريط اللغة هذا على شريط المهام.

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

نصائح لتحسين سرعة الاتصال بالإنترنت من Linksys

يعد تعظيم سرعة الإنترنت أمرًا ضروريًا لتحسين اتصال الشبكة لديك. يمكنك الحصول على تجربة ترفيه وعمل مثالية باستخدام أجهزة الكمبيوتر وأجهزة التلفزيون المجهزة للإنترنت ووحدات التحكم في الألعاب وما إلى ذلك.

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

كيفية إعداد WEP، WPA، WPA2 لجهاز التوجيه Linksys

يعد الاتصال اللاسلكي أمرًا ضروريًا اليوم، ولهذا السبب، يعد الأمان اللاسلكي ضروريًا لضمان السلامة في شبكتك الداخلية.