شرح پروژه توسعه قابلیت OTP برای افزونه پیامک ووکامرس
ما یک افزونه ارسال پیامک ووکامرس داریم و قصد داریم قابلیت OTP را به آن اضافه کنیم. افزونه فعلی از رویدادهای سفارش ووکامرس و اعلانهای پیامکی پشتیبانی میکند و بستر مناسبی برای توسعه احراز هویت پیامکی فراهم است
اهداف و خروجیهای مورد انتظار
افزودن OTP: پیادهسازی احراز هویت پیامکی برای ثبتنام، ورود و بازیابی گذرواژه.
یکپارچهسازی پرووایدر: افزودن یک پرووایدر اختصاصی (API ارائه میشود).
کامنتگذاری کامل: تمامی تغییرات با کامنتگذاری دقیق در سطح فایل، کلاس، هوک و فانکشن.
داکیومنت فنی: ارائه مستند کامل شامل معماری، نقاط اتصال (hooks/filters)، جداول دیتابیس/متادیتا، تنظیمات پنل ادمین
پایداری و عملکرد: حفظ سازگاری با وردپرس/ووکامرس در فعالسازی/غیرفعالسازی و رعایت بهینگی منابع تحت لود بالا.
ویژگیهای موردنیاز OTP
فعال/غیرفعالسازی OTP:
سوییچ مستقل برای فرم ثبتنام ووکامرس.
سوییچ مستقل برای فرم ورود ووکامرس.
بررسی وجود کاربر:
اعتبارسنجی شماره موبایل و تشخیص اینکه کاربر از قبل وجود دارد یا نه (بر اساس user_login، user_email و متادیتای موبایل).
جلوگیری از ساخت حساب تکراری و هدایت به فرآیند ورود یا بازیابی.
بازیابی گذرواژه از طریق پیامک:
امکان ریست رمز وردپرس/ووکامرس با ارسال OTP به شماره تأییدشده کاربر.
ایجاد توکن امن و تغییر رمز پس از تأیید کد.
گزارشات OTP:
ثبت لاگ ارسال/وضعیت کدهای OTP در بخش گزارشات افزونه (موفق، ناموفق، منقضی، بلاکشده).
فیلتر بر اساس شماره، کاربر، تاریخ و نوع رویداد.
انقضا و پایش دورهای:
زمان انقضای OTP برابر یک ساعت.
پاکسازی/غیرفعالسازی کدهای منقضی هر یک ساعت (wp-cron یا جایگزین cron سیستمی).
استانداردهای امنیتی:
محدودیت تعداد درخواست OTP در بازه زمانی برای هر شماره/آیپی.
هش امن برای ذخیره کدها، عدم نگهداری متن کد در دیتابیس.
ضدسوءاستفاده: بلکلیست موقت پس از تلاشهای ناموفق پیدرپی.
تغییرات در ساختار افزونه و پرووایدر پیامک
لایه انتزاعی ارسال: پیادهسازی یک اینترفیس یکتا برای ارسال پیامک و گزارش وضعیت تا در آینده امکان تعویض پرووایدر بدون تغییر منطق OTP حفظ شود.
تنظیمات ادمین: افزودن تب/سکشن اختصاصی OTP با گزینههای:
فعال/غیرفعال برای ثبتنام و ورود
الگوی پیامک و طول کد
زمان انقضا (پیشفرض 1 ساعت)
نرخدهی درخواستها (rate limit)
گزارشات و ابزار تست ارسال
جداول/متاهای دیتابیس:
جدول سبک اختصاصی برای OTP یا استفاده از usermeta با کلیدهای استاندارد شامل:
شماره موبایل تأییدشده
هش کد OTP، زمان صدور، زمان انقضا، وضعیت
شمارنده تلاشها و آخرین آیپی درخواستکننده
استانداردهای تحویل و پذیرش
سازگاری فعال/غیرفعالسازی: افزونه در زمان فعال و غیرفعالسازی هیچ تداخلی با وردپرس/ووکامرس ایجاد نکند. هوکهای نصب/حذف جداول و cron با بررسی وجود اجرا شوند و idempotent باشند.
پایداری تنظیمات: فعال/غیرفعال کردن ویژگیها بدون خطا و با اعتبارسنجی ورودیها (nonce، capabilities، sanitize).
کارایی تحت لود: مصرف منابع بهینه تحت ترافیک بالا؛ اجرای کدهای OTP سبک و غیربلاککننده. گزارش لودتست ارائه میشود (سناریوهای ثبتنام/ورود/ریست رمز با هزاران درخواست).
کیفیت کد: رعایت استانداردهای کدنویسی وردپرس (PHPCS)، نامگذاری یکنواخت، پوشش کامنتها و error handling شفاف.
مستندات و تستها: داکیومنت فنی کامل + چکلیست تست پذیرش (UAT) شامل مسیرهای موفق/شکست، انقضا، محدودیت نرخ، گزارشات و بازیابی رمز.
سناریوهای تست کلیدی
ثبتنام با OTP فعال: شماره جدید، ارسال کد، تأیید، ساخت کاربر، ورود خودکار/دستی.
ثبتنام کاربر موجود: تشخیص وجود، عدم ساخت دوباره، هدایت به ورود یا بازیابی رمز.
ورود با OTP: وارد کردن شماره، ارسال کد، تأیید و ورود با نشست امن.
بازیابی رمز با پیامک: درخواست، دریافت OTP، تأیید و تعیین رمز جدید، ابطال توکنهای قبلی.
انقضا و پاکسازی: عدم پذیرش کد پس از یک ساعت، پاکسازی دورهای، ثبت در لاگ.
محدودیت نرخ: بلوک موقت پس از تلاشهای بیشازحد، پیام مناسب کاربر.
گزارشات: مشاهده، فیلتر و خروجی لاگهای OTP و وضعیت ارسال.
موارد تحویلی
کد افزونه با تغییرات: ریپوی قابل تحویل شامل سورس، کامنتگذاری کامل، اسکریپتهای نصب/حذف.
داکیومنت فنی: معماری، هوکها، تنظیمات، API پرووایدر، مدل داده، سناریوهای استقرار و Rollback.
راهنمای ادمین: نحوه پیکربندی OTP و پرووایدر، الگوهای پیام، محدودیتها و گزارشات.
لودتست و کیفیت: نتایج تست عملکرد، چکلیست پذیرش، نکات بهینهسازی.
پیشنیازها و همکاری
API پرووایدر: دسترسی کلید API، الگو یا متن پیامک، شماره خدماتی (در صورت نیاز).
محیط تست: یک استیجینگ وردپرس/ووکامرس با دسترسی مدیریتی، امکان ارسال آزمایشی پیامک.
هماهنگی امنیتی: تأیید سیاست نگهداری شمارههای موبایل و رمزها
نحوه همکاری
زمانبندی پیشنهادشده: 7–10 روز کاری برای توسعه و تست کامل OTP و یکپارچهسازی پرووایدر.
پایش و تحویل تدریجی: دموی میانی برای بازبینی سناریوهای OTP و گزارشات، تحویل نهایی با مستندات و تستها.
پذیرش نهایی: تأیید چکلیست UAT، پایداری فعال/غیرفعالسازی، و نتایج لودتست.
این آگهی از وبسایت پونیشا پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت پونیشا برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.