سؤال

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

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

ما أريده هو إرسال بريد إلى مستخدم تم إنشاؤه بالفعل (رغم أنه لم يسجل الدخول)، والسماح له بقبول الاقتراح من خلال النقر على الرابط الموجود في البريد.يشير الرابط بالطبع إلى الصفحة التي تنفذ عمليات قاعدة البيانات وتظهر نوعًا ما من النتائج.

ما هي التقنيات و/أو المسار الذي يجب أن أتبعه لتنفيذ ذلك؟وبما أن هذا يتعلق بالأمن، فما الذي يجب أن أحذر منه؟

أطيب التحيات، كاسبر

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

المحلول

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

ثم أرسل لهم البريد الإلكتروني مع رابط ل DoSomething.aspx?id=long_string_here.

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

بعد اكتمال الإجراء، أو كل X من الأيام، احذف السلسلة من الجدول.

مخاوف:

  1. قد يحاول الأشخاص السيئون ضرب صفحتك بسلاسل عشوائية.إذا كانت سلاسلك طويلة بما فيه الكفاية وعشوائية بما فيه الكفاية، فلن يكون هذا مهمًا، ولكن قد ترغب في تقييد الوصول إلى الصفحة أو منع أكثر من X طلبات من عنوان IP في فترة معينة.
  2. قد يتبع مدققو البريد العشوائي العدوانيون الرابط الموجود في نص البريد الإلكتروني.تأكد من عدم تنفيذ أي عملية بمجرد الوصول إلى الصفحة؛يجب على المستخدم النقر فوق زر أو التسبب في نشر.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top