اذهب إلى المحتوى
  • 0

حل مشكلة استعادة كلمة المرور في أطار Django

رحاب صالح جمعة

السؤال

السلام عليكم ورحمة الله وبركاته،

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

هذا غير معقول في حال تسجيل الدخول مستخدم اخر ونسي كلمة المرور الخاصة به؟؟
هل يجب علي ان اضع البريد الخاص بي وكلمة السر في الشيفرات ؟؟

انا أتسال اذا كان يوجد حل أخر وشكراً. Screenshot(110).thumb.png.9f2b7513101983eba6136cb607028521.png

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

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

يُمكنك حالياً إستخدام خدمة mailtrap، إنشاء حساب و ربط الإعدادات التي توفرها لك في مشروعك و بدل إستقبال الرسائل في بريدك الخاص سيتم إستقبالها في حسابك على mailtrap.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

مرحبا,

الخطأ اعلاه يحصل غالبا بسبب نقص او خطأ بمعلومات الأيميل

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

 

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

يمكن حل مشكلة الأمان والحفاظ على كلمات المرور من خلال وضع ملف .env في مجلد المشروع الذي تعملين عليه ,هذا الملف يكون له صلاحية القراءة و الكتابة فقط من قبل الشخص الذي يحمل منصب admin و فقط يستطيع التطبيق القراءة منه خلال مرحلة التشغيل وهذا الملف يحوي الاسم الخاص  database وكلمة السر الخاصة database والبريد الالكتروني الخاص بالموقع وكلمة السر الخاص به ويكون بالشكل

#env
SECRET_KEY=
DATABASE_NAME=
DATABASE_USER=
DATABASE_PASSWORD=
DATABASE_HOST=
DATABASE_PORT=
EMAIL_HOST_USER=
EMAIL_HOST_PASSWORD=
GITHUB_ID=
GITHUB_SECRET=
ADMIN_NAME=
ADMIN_EMAIL=

بعد ذلك يمكنك قراءة هذه القيم في ملف settings.py باستخدام مكتبة dotenv عبر استخدام الاسطر التالية من الكود

from dotenv import load_dotenv


# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

load_dotenv(os.path.join(BASE_DIR,".env"))

حيث يتم قراءة كل سطر في ملف env, ويتم الحصول على هذه القيمة باستخدام getenv حيث يفضل وضع القيمة في متحول من نفس الاسم الموجود في ملف env يوضح الكود التالي قراءة اسم المستخدم وكلمة السر عبر الدالة المذكورة, طبعا نضع هذه الاكواد في ملف settings.py
 

#settings.py 
EMAIL_HOST_USER = os.getenv('EMAIL_HOST_USER')
EMAIL_HOST_PASSWORD = os.getenv('EMAIL_HOST_PASSWORD')

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...