سؤال

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

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

المحلول

ربما النظر في هذا:

  • قم بتحميل حزمة محدثة إلى موقع الويب الخاص بك / FTP. اجعله آمنا.
  • إرسال رابط إلى صفحة تسجيل الدخول إلى كل عميل
  • يجب أن يحتوي كل رابط على معلمة على Querystring - GUID ربما، للاستخدام مرة واحدة.
  • اطلب من المستخدم إدخال عنوان بريده الإلكتروني، وتأكد من أنه يطابق GUID لديك على سجل لهذا عنوان البريد الإلكتروني هذا.
  • بمجرد تنزيله، رفض المزيد من التنزيلات مع عنوان البريد الإلكتروني هذا أو GUID؛ اكتب إلى DB صغير (أي SQLite)
  • إذا احتاج العميل إلى تنزيله أكثر من مرة، فاحصي بالبريد الإلكتروني. يمكنك إعادة إرسالها رابط تنزيل جديد مع GUID جديد. سيكون كل هذا مرتبط بعنوان بريدهم الإلكتروني الخاص به للتتبع.
  • ربما لا تجبر المستخدم على البريد الإلكتروني لك. قم بتجديد GUID جديد، ولكن قم بتقريب المستخدم في 2 أو 3 GUIDs تم إنشاؤه تلقائيا.
  • لديك الآن إحصائيات حول من قام بتنزيل ما وكم مرة؟

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

نصائح أخرى

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

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

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