الحفاظ على قاعدة بيانات آمنة لغيرات المستخدمين والمعلومات؟

StackOverflow https://stackoverflow.com/questions/3328000

سؤال

أريد أن أحصل على نموذج تسجيل دخول على موقع جيد في موقع خيرية أقوم ببناء (هو لصديق، وأنا أتعلم أثناء التنقل)، وأريد أن أعرف ما اللغات / البرامج يجب أن أتعلم بناء قواعد بيانات للمستخدمتسجيلات الدخول والمعلومات؟ملاحظة: يجب أن تكون آمنة و نسبيا سهلة التعلم بالنسبة لشخص مع تجربة برمجة معتدلة.

Update: أفهم أن CMSs تقدم أدوات جيدة لتسجيلات الدخول وما إلى ذلك ولكن أريد أن أفعل هذا بنفسي.

هل كانت مفيدة؟

المحلول

أبسط شيء يمكنك القيام به هو التجزئة وتطبيق الملح على كلمات المرور الخاصة بك قبل إدخالها في قاعدة البيانات. "البراغيث الشريرة" لديها إجابة جيدة جدا في سؤال آخر هنا .

هل فكرت في الاستيلاء على الرف على الرف؟ يجب أن يحتوي معظم CMS اللائق على جميع الوظائف التي تحتاجها لموقع جيد لخطة خيرية بسيطة. سيوفر لك أيضا حل صلب لقضية نموذج تسجيل الدخول الخاص بك.

تحرير

كما هي اللغة التي يجب استخدامها. إنها حقا ليست مهمة جدا طالما أنك مرتاح لها وعلى استعداد لوضع الوقت والجهد. يظهر في ملف التعريف الخاص بك أنك تتطلع إلى تعلم PHP. يبدو أن كتابة نموذج تسجيل الدخول في PHP سيكون نقطة انطلاق لطيفة. بالنسبة إلى نهاية قاعدة البيانات الظهر. مرة أخرى، لا يهم حقا. فقط من فضلك فقط لا تستخدم MS Access. يبدو أن معظم مطوري PHP (على افتراض) يستخدمون MySQL لأنه عادة ما يتم تضمينه مع مضيف الويب PHP.

حول الأمان، فإن التجزئة وإضافة الملح إلى كلمة المرور الخاصة بك هو أسهل شيء يمكنك القيام به. يمكنك أن تفعل شيئا مثل هذا:

  • نقرات المستخدم تسجيل الرابط
  • طرح نموذج التسجيل باستخدام SSL
  • بمجرد النقر فوق المستخدم زر الإرسال
  • كلمة مرور التجزئة. أضف الملح. متجر في قاعدة البيانات. ستمنع إضافة الملح إلى كلمة المرور المهاجمة للهجوم من استخدام طاولة rainbow إلى الغاشمة التي يجرضون كلمات المرور الخاصة بك وبعد قم بإلقاء نظرة على هنا للحصول على الوظائف التي تعتني بكلمات مرور التجزئة.
  • يمكنك أيضا إجبار المستخدمين على إنشاء كلمة مرور مع قواعد محددة. مثل، تتطلب جميع كلمات المرور أكبر من 6 أحرف، رقم واحد على الأقل، إلخ ...

مرة واحدة يحتاج المستخدم إلى تسجيل الدخول، يمكنك القيام بشيء مشابه ل:

  • الحصول على اسم المستخدم وتعقيمها. تذكر أن لا تثق أبدا في إدخال المستخدمين. لا يهم إذا أراد الله نفسه حسابا على موقع الويب الخاص بك.
  • الهروب من كلمة المرور لضمان الحصول على أشخاص دون حساب الحصول على الوصول عبر حقن SQL . يمكنك القيام بذلك باستخدام PHP mysql_real_escape_string .
  • مرة واحدة كل شيء في مكان يمكنك الاستعلام عن قاعدة البيانات الخاصة بك لمعرفة ما إذا كان هناك أي صفقات عادت.

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

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

شيء على طول تلك الأسطر يجب أن تفي بمتطلباتك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top