يتضمن تحقيق أمان موقع الويب الجوانب التالية:
مصادقة الهوية : عملية تأكيد هوية المستخدم وصحته. يتم توفير أربعة أنواع من المصادقة في ASP.NET:
شهادة ويندوز
مصادقة النموذج
المصادقة
المصادقة المخصصة
التفويض : عملية تحديد وتعيين أدوار محددة لمستخدمين محددين.
السرية : تتضمن التشفير لمتصفحات العميل وخوادم الويب.
النزاهة : الحفاظ على سلامة البيانات. على سبيل المثال، تنفيذ التوقيعات الرقمية.
بشكل عام، تتضمن المصادقة المستندة إلى النماذج تحرير ملف تكوين الشبكة وصفحة التسجيل مع رمز التحقق. يمكن كتابة ملف تكوين الشبكة بالكود التالي:
<configuration><system.web> <authentication mode="Forms"> <formsloginUrl ="login.aspx"/> </authentication> <authorization> <deny users="؟"/> </authorization></system .ويب>......</التكوين>
قد تحتوي صفحة تسجيل الدخول.aspx المذكورة في مقتطف التعليمات البرمجية أعلاه على التعليمات البرمجية التالية، بما في ذلك اسم المستخدم وكلمة المرور للمصادقة، والتي يصعب ترميزها في الملف.
protected bool Authenticate(String uname, String pass){ if(uname == "Tom") { if(pass == "tom123") return true } if(uname == "Dick") { if(pass == " dick123") return true; } if(uname == "Harry") { if(pass == "har123") return true; } return false;}public void OnLogin(Object src, EventArgs e){ if (authenticate(txtuser.Text, txtpwd.Text)) { FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked); } else { Response.Write("اسم المستخدم أو كلمة المرور غير صالحة" }});
لاحظ أنه يتم استخدام فئة FormsAuthentication لعملية المصادقة.
ومع ذلك، يسهل Visual Studio تنفيذ إنشاء المستخدم والمصادقة والترخيص بسلاسة من خلال أداة إدارة موقع الويب دون كتابة أي تعليمات برمجية. تتيح هذه الأداة إنشاء المستخدمين والأدوار.
بالإضافة إلى ذلك، يحتوي ASP.NET على سلسلة جاهزة للتحكم في تسجيل الدخول يمكنها التحكم وتنفيذ جميع الأعمال نيابةً عنك.
لإعداد المصادقة المستندة إلى النماذج، يتعين عليك القيام بما يلي:
قاعدة بيانات المستخدم لدعم عملية المصادقة
موقع يستخدم قاعدة بيانات
حساب المستخدم
دور
القيود المفروضة على أنشطة المستخدم وأنشطة المجموعة
صفحة مستخدم تعرض حالة المستخدم ومعلومات أخرى
واجهة تسجيل دخول تتيح للمستخدمين تسجيل الدخول واسترداد كلمات المرور وتغيير كلمات المرور.
لإنشاء مستخدم، يجب اتباع الخطوات التالية:
الخطوة 1: حدد موقع الويب->تكوين ASP.NET لفتح أداة إدارة تطبيقات الويب.
الخطوة 2: انقر على خيارات الأمان.
الخطوة 3: حدد خيار "المصادقة المستندة إلى النماذج" لتعيين نوع المصادقة على "من الإنترنت".
الخطوة 4: انقر فوق "إنشاء مستخدمين". إذا قمت بالفعل بإنشاء دور، فيمكنك تعيين الدور للمستخدم في هذه الخطوة.
الخطوة 5: إنشاء موقع ويب وإضافة الصفحات التالية:
صفحة ترحيب
صفحة تسجيل الدخول
صفحة التسجيل
صفحة استعادة كلمة المرور
صفحة تغيير كلمة المرور
الخطوة 6: قم بتعيين عنصر تحكم في حالة تسجيل الدخول في قسم تسجيل الدخول بصفحة الترحيب. يحتوي على صندوقين قياسيين: تسجيل الدخول وتسجيل الخروج.
لدى LoggedIn خيار عرض المستخدمين الذين قاموا بتسجيل الدخول، ولدى LoggedOut خيار عرض المستخدمين الذين قاموا بتسجيل الخروج. يمكنك تغيير خصائص نص تسجيل الدخول والخروج في نافذة الخصائص.
الخطوة 7: قم بإعداد عنصر تحكم LoginView أسفل عنصر التحكم LoginStatus. يمكنك تعيين بعض النصوص الأخرى أو عناصر التحكم الأخرى (مثل الارتباطات التشعبية والأزرار وما إلى ذلك) التي تعكس ما إذا كان المستخدم قد قام بتسجيل الدخول أم لا.
يحتوي عنصر التحكم هذا على صندوقين قياسيين: المربع المجهول ومربع تسجيل الدخول. حدد كل طريقة عرض واكتب بعض النص ليعرضه المستخدم عند تحديد مربع المعايير. يجب وضع النص في المنطقة المميزة باللون الأحمر في الصورة أدناه.
الخطوة 8: يقوم المطور بإنشاء مستخدمي التطبيق. قد ترغب في السماح للزائرين أيضًا بإنشاء حساب مستخدم. ولتحقيق ذلك، يمكنك إضافة رابط ضمن عنصر تحكم LoginView ينقلك إلى صفحة التسجيل.
الخطوة 9: قم بإعداد عنصر تحكم CreateUserWizard في صفحة التسجيل. قم بتعيين الخاصية continueDestinationPageUrl لعنصر التحكم هذا للتأكد من أنه يمكنك الانتقال إلى صفحة الترحيب.
الخطوة 10: إنشاء صفحة تسجيل الدخول. قم بإعداد عنصر تحكم تسجيل الدخول على هذه الصفحة. يتصل عنصر التحكم LoginStatus تلقائيًا بصفحة تسجيل الدخول. يمكنك تغيير هذا الإعداد الافتراضي عن طريق إجراء التغييرات التالية في ملف تكوين الشبكة.
على سبيل المثال، إذا قمت بتسمية صفحة تسجيل الدخول الخاصة بك Signup.aspx، فيمكنك إضافة سطور التعليمات البرمجية التالية إلى ملف تكوين الشبكة.
<configuration> <system.web> <authentication mode="Forms"> <formsloginUrl ="signup.aspx" defaultUrl = “Welcome.aspx†/> </authentication> </system.web></configuration>
الخطوة 11: غالبًا ما ينسى المستخدمون كلمات المرور الخاصة بهم. يساعد عنصر التحكم PasswordRecovery المستخدمين على استعادة تسجيل الدخول إلى هذا الحساب. حدد التحكم في تسجيل الدخول. افتح علامة التبويب الصغيرة وحدد "تحويل إلى قالب".
من خلال تخصيص واجهة المستخدم الخاصة بعنصر التحكم هذا، ضع عنصر تحكم الارتباط التشعبي أسفل زر تسجيل الدخول. يجب أن يكون عنصر التحكم هذا قادرًا على الارتباط بصفحة استرداد كلمة المرور.
الخطوة 12: قم بتعيين عنصر تحكم استرداد كلمة المرور على صفحة استرداد كلمة المرور. يتطلب عنصر التحكم هذا من خادم البريد إرسال كلمة المرور إلى المستخدم.
الخطوة 13: قم بتعيين رابط لصفحة تغيير كلمة المرور في مربع تسجيل الدخول الخاص بعنصر تحكم LoginView في صفحة الترحيب.
الخطوة 14: قم بتعيين عنصر تحكم ChangePassword في صفحة تغيير كلمة المرور. يحتوي عنصر التحكم هذا على طريقتي عرض:
الآن قم بتشغيل التطبيق ولاحظ العمليات الأمنية المختلفة. يمكنك العودة إلى أداة إدارة تطبيقات الويب والنقر على خيار الأمان لإنشاء دور. انقر فوق "إنشاء أدوار" لإنشاء بعض الأدوار لهذا التطبيق.
انقر فوق "إدارة المستخدمين" لتعيين الأدوار للمستخدمين.
طبقة المقابس الآمنة (SSL) هي بروتوكول يستخدم لضمان الاتصالات الآمنة. باستخدام SSL، يقوم المتصفح بتشفير جميع البيانات المرسلة إلى الخادم وفك تشفير جميع البيانات من الخادم. وفي الوقت نفسه، سيقوم الخادم أيضًا بتشفير وفك تشفير جميع البيانات الموجودة في متصفح Liangzi.
يستخدم عنوان URL الخاص بالاتصال الآمن بروتوكول HTTPS بدلاً من بروتوكول HTTP. سيتم أيضًا عرض قفل صغير بواسطة المتصفحات التي تستخدم اتصالات آمنة. عندما يتصل المتصفح بشكل نشط مع الخادم باستخدام SSL، يرسل الخادم شهادة أمان لمصادقة الخادم نفسه.
لاستخدام SSL، يتعين عليك شراء شهادة أمان رقمية من مرجع مصدق موثوق (CA) وتثبيت الشهادة على خادم الشبكة. فيما يلي بعض منظمات التصديق الجديرة بالثقة ذات السمعة الجيدة:
www.verisign.com
www.geotrust.com
www.thawte.com
تم دمج طبقة المقابس الآمنة (SSL) في جميع المتصفحات والخوادم الرئيسية. لتمكين SSL، تحتاج إلى تثبيت شهادة رقمية. تختلف قوة الشهادات الرقمية المختلفة حسب طول المفتاح الذي تم إنشاؤه أثناء عملية التشفير. كلما زاد طول المفتاح، زادت أمان الشهادة وأصبح الاتصال أكثر أمانًا.
قوة | يصف |
---|---|
40 بت | يدعم معظم المتصفحات ولكن من السهل اختراقه. |
56 بت | أقوى من 40 بت. |
128 بت | من الصعب كسرها، لكن ليس كل المتصفحات تدعمها. |