من Splync v1.0 إلى Splync v1.1
عند التسجيل في Splync، يُطلب منك إدخال بريدك الإلكتروني وكلمة المرور. كما ذكرت في مقالات سابقة، تضمن Splync v1.0 بالفعل إجراءات أمان أساسية. تم حماية نقل بياناتك بواسطة HTTPS. كان الخادم محميًا باستخدام SSH بحيث لا يمكن لأحد غير المطور الوصول إليه. لم يتم تخزين كلمة مرورك كنص عادي بل تم تشفيرها في قاعدة البيانات حتى لا يتمكن أحد من فك شفرتها. لكن لم يكن هناك تحقق من البريد الإلكتروني في عملية إنشاء الحساب في الإصدار 1.0. تم إصدار Splync كمنتج نموذجي أولي (MVP) بدون هذه الميزة لأن التطبيق كان آنذاك معروفًا فقط لأصدقائي. في الإصدار 1.0، كان التطبيق يتحقق فقط مما إذا كان البريد المدخل يحتوي على "@" بين سلاسل الحروف وما إذا كان فريدًا بين الحسابات الموجودة.
ماذا يحدث إذا لم يكن هناك تحقق من البريد الإلكتروني
إذا سمح التطبيق للمستخدمين بإنشاء حساب دون التحقق من هويتهم، من السهل تخيل شخص يستخدم بريد شخص آخر لإنشاء حساب خاص به. هذا هو ما يمكن أن يحدث بالفعل. بينما لا يعني هذا أن بياناتك ستتسرب، فإنه يعني أنك لن تتمكن من التسجيل باستخدام بريدك الإلكتروني إذا كان قد تم استخدامه بالفعل. بالإضافة إلى ذلك، يمكن لشخص ما إنشاء حساب باستخدام بريد إلكتروني خيالي تمامًا. قد لا يبدو الأمر خطيرًا في البداية، لكنه يصبح كارثة عندما يحاول المطور تحصيل الرسوم أو الاتصال بذلك المستخدم لاحقًا. لن أتمكن حتى من معرفة هويته الحقيقية! لذا، كان التحقق من البريد الإلكتروني هو الخطوة التالية لـ Splync.
كيفية عمل التحقق من البريد الإلكتروني
في Splync v1.1، عند تسجيل مستخدم جديد، يرسل التطبيق تلقائيًا بريدًا إلى العنوان المدخل. يحتوي البريد على رابط تحقق فريد تم إنشاؤه تلقائيًا. بنقرة واحدة على ذلك الرابط، يؤكد المستخدم أنه يمتلك حق الوصول إلى حساب البريد الإلكتروني. بمجرد التحقق، يقوم الخادم بتفعيل حساب المستخدم وتخزينه في قاعدة البيانات كمستخدم موثوق. يبدو الأمر مألوفًا، أليس كذلك؟ تضمن هذه العملية أن كل حساب في Splync ينتمي لشخص حقيقي يمكن الوصول إليه، وهي خطوة صغيرة ولكنها حيوية نحو بناء مجتمع موثوق. دعونا نلقي نظرة عن كثب على كيفية تنفيذ هذه العملية من الناحية التقنية.
التنفيذ التقني للتحقق من البريد الإلكتروني
يستخدم الجزء الخلفي من Splync لغة Python/FastAPI، وتم بناء تطبيق الهاتف المحمول باستخدام SwiftUI. يتعامل التطبيق فقط مع واجهة المستخدم، بينما يبقى منطق التحقق والبيانات الحساسة آمنة على الخادم. في الإصدار 1.1، أضفنا خطوة التحقق من البريد الإلكتروني القياسية بين المستخدم "غير المحقق" و"المحقق". عند تسجيل مستخدم جديد، يرسل التطبيق البيانات المدخلة إلى الخادم. يمتلك الخادم قاعدة بيانات MariaDB. يقوم بتخزين المستخدم كغير محقق في قاعدة البيانات. يتم تشفير كلمة المرور وحفظها، لكن الحساب لا يزال غير نشط. في تلك اللحظة، يقوم الخادم أيضًا بإنشاء رمز تحقق فريد بوقت انتهاء صلاحية. بعد ذلك، باستخدام خادم SMTP (بروتوكول نقل البريد البسيط)، يرسل الخادم بريد تحقق يحتوي على رابط آمن لمرة واحدة. عندما يفتح المستخدم الرابط، يتحقق الخادم من صحة الرمز وعدم انتهاء صلاحيته. بمجرد التحقق، يصبح الحساب نشطًا ويمكن للمستخدم تسجيل الدخول بشكل طبيعي من التطبيق. هذا يحافظ على الأمان وخفة عملية التحقق.
Python؟ FastAPI؟ SwiftUI؟ SMTP؟ MariaDB؟
إذا بدت هذه كرموز سرية، لا تقلق — إنها مجرد الأدوات التي تجعل النظام يعمل معًا. فكر في عملية التسجيل في Splync مثل مركز دعم العملاء الذي يتحقق من هوية شخص ما. "هل يمكنني الحصول على اسمك وعنوان بريدك الإلكتروني؟" يسأل SwiftUI، المشغل الودود في مكتب الاستقبال. تخبرها بتفاصيلك، وتقول "هل يمكنك الانتظار لحظة؟" ترسلها فورًا إلى FastAPI، نظام الهاتف الداخلي للمكتب. يربطها FastAPI بـ Python، المتخصص الخلفي المسؤول عن التحقق. يتحقق Python مع MariaDB، قاعدة بيانات العملاء، لتسجيل معلوماتك بأمان — ويشير إلى حالتك كـ "غير محقق". ثم يطلب Python من SMTP، الرسول الخارجي، إرسال بريد تأكيد لك مع رابط آمن. عندما تنقر على الرابط، يتحقق Python من صلاحيته ويحدث سجلك في MariaDB ليصبح "محقق". أخيرًا، يخبر FastAPI المشغل بأن هويتك قد تم تأكيدها، وأن حسابك نشط الآن. معًا، تجعل هذه الأجزاء عملية التحقق في Splync شبيهة بالإنسان وآمنة.
الخطوة التالية في رحلة أمان Splync
قد يبدو التحقق من البريد الإلكتروني ميزة صغيرة، لكنه يغير كل شيء يتعلق بالثقة. يمثل اللحظة التي يتطور فيها Splync من مشروع شخصي بين الأصدقاء إلى تطبيق عام يمكن لأي شخص الانضمام إليه بثقة. إرسال رابط التحقق عبر SMTP حتى يبدو كأول مصافحة من Splync مع مستخدم جديد. خلف الكواليس، تضع هذه الميزة الأساس لتحسينات مستقبلية — إعادة تعيين كلمة المرور، المصادقة متعددة العوامل، واسترداد الحساب. كل طبقة من الأمان تبني على الطبقة السابقة. مع التحقق من البريد الإلكتروني، يتخذ Splync v1.1 خطوة مهمة إلى الأمام — مما يجعل إدارة النفقات المشتركة ليست فقط مريحة، بل موثوقة حقًا.