در ورود پیامکی، کاربر شماره موبایلش را وارد میکند و کد دریافتی را در فرم مینویسد. پس از تأیید کد، جم پک حساب مرتبط با شماره را پیدا میکند؛ اگر حسابی پیدا نشود، مسیر ثبتنام حساب جدید اجرا میشود.
راهاندازی فقط به نمایش فرم محدود نیست. باید درگاه پیامکی، متن یا الگوی کد، محدودیت درخواست و تشخیص کاربران قدیمی را هم بررسی کنید.
این راهنما بر ورود و ثبتنام پیامکی تمرکز دارد. ورود با ایمیل و رمز، تنظیمات ظاهری و هدایت کاربر را نیز در حد لازم توضیح میدهد. ورود بیومتریک در مستند بعدی جدا بررسی میشود.
انتخاب روش ورود
در تنظیمات عمومی ماژول، سه انتخاب وجود دارد:
| انتخاب | رفتار موردنظر |
|---|---|
| فقط شماره موبایل | ورود با شماره و کد پیامکی |
| فقط ایمیل | ورود با ایمیل و رمز عبور |
| هر دو | ارائه مسیر موبایل و مسیر ایمیل/رمز |
ایمیل در این فرم به معنی ارسال کد یکبارمصرف به ایمیل نیست. مسیر ایمیل بر رمز عبور و بازیابی آن تکیه دارد.
برای شروع این آموزش، «فقط شماره موبایل» را انتخاب کنید تا آزمون پایه ساده باشد. پس از تأیید مسیر پیامکی، اگر لازم بود حالت «هر دو» را اضافه کنید.
آمادهکردن درگاه پیامکی
- در جم پک، «اعلانهای پیامکی» را باز کنید.
- درگاه موردنظر را انتخاب کنید.
- اطلاعات اتصال و خط لازم را طبق مستند همان پنل وارد کنید.
- تنظیمات را ذخیره کنید.
- یک ارسال آزمایشی محدود با شماره خودتان انجام دهید.
این ماژول از درگاه ذخیرهشده مشترک استفاده میکند، اما تنظیم روش ارسال و شناسه الگوی OTP در بخش خودش قرار دارند.
دکمه تست عمومی پیامک، ورود کاربر و تأیید کد را آزمایش نمیکند. حتی پس از موفقیت آن باید چرخه کامل فرم ورود را انجام دهید.
برای جزئیات اتصال هر پنل، از راهنمای مرکز پیامک ووکامرس و مستند پنل انتخابی کمک بگیرید.
فعالکردن ورود پیامکی
- در جم پک، بخش «احراز هویت پیامکی» را باز کنید.
- وارد «تنظیمات اصلی» شوید.
- «فعالسازی ورود/ثبتنام پیامکی» را روشن کنید.
- روش ورود را «فقط شماره موبایل» قرار دهید.
- برای آزمون اولیه، ورود بیومتریک و گزینههای اضافی را خاموش نگه دارید.
- تنظیمات را ذخیره کنید.
ابتدا فرم را روی یک صفحه آزمایشی راهاندازی کنید. جایگزینی فرم اصلی سایت را بعد از تأیید ارسال، تشخیص حساب و هدایت کاربر انجام دهید.
ساخت صفحه ورود با شورتکد
یک برگه برای ورود بسازید و شورتکد زیر را در عنصر اجرای شورتکد قرار دهید:
[aio_wc_otp_form]
سپس:
- برگه را ذخیره کنید.
- نشانی آن را در تنظیم مربوط به صفحه ورود ماژول ثبت کنید.
- صفحه را در پنجرهای بدون ورود باز کنید.
- نمایش فرم و بارگذاری صحیح آن را بررسی کنید.
نوشتن نشانی صفحه ورود بهتنهایی محتوا و فرم آن برگه را ایجاد نمیکند؛ شورتکد باید در صفحه وجود داشته باشد.
اگر هنگام بازکردن صفحه وارد حساب باشید، شورتکد ممکن است شما را به صفحه حساب کاربری هدایت کند. برای مشاهده فرم، از پنجره خصوصی یا حساب خارجشده استفاده کنید.
در بریکس، محل اجرای شورتکد را داخل قالب مناسب قرار دهید. ساخت فرم ظاهری مشابه بدون استفاده از منطق ماژول، جای اجرای این شورتکد نیست.
جایگزینی فرم استاندارد ووکامرس
اگر قالب استاندارد دارید، گزینه «جایگزینی ورود ووکامرس (فقط قالبهای استاندارد)» در دسترس است.
پس از تأیید صفحه آزمایشی:
- این گزینه را روشن کنید.
- صفحه حساب کاربری را در حالت خارجشده باز کنید.
- بررسی کنید فقط یک فرم ورود نمایش داده شود.
- ورود، خروج و بازیابی دسترسی را آزمایش کنید.
در قالب سفارشی که فرم را مستقل ساخته است، روشنکردن این گزینه تضمین نمیکند فرم صفحهساز عوض شود. در این حالت از شورتکد استفاده کنید و فرمهای تکراری را بررسی کنید.
تنظیم کد و فاصله ارسال
در «تنظیمات OTP»، این سه مورد را بررسی کنید:
| فیلد | مقدار پیشفرض در کد | کاربرد |
|---|---|---|
| طول کد | ۵ رقم | تعداد رقمهای کد تولیدشده |
| انقضای کد (ثانیه) | ۱۲۰ | مدت اعتبار کد |
| فاصله ارسال مجدد (ثانیه) | ۹۰ | انتظار پیش از درخواست مجدد |
این مقدارها زمانی استفاده میشوند که تنظیم دیگری ذخیره نشده باشد. مقدار فعلی سایت را در فرم تنظیمات بررسی کنید.
زمان انقضا و فاصله ارسال دو تنظیم متفاوتاند. تأخیر دریافت پیام را در آزمون واقعی بررسی کنید تا کاربر پیش از رسیدن پیام با کد منقضی روبهرو نشود.
با درخواست کد جدید، کد ذخیرهشده قبلی جایگزین میشود. در صورت دریافت چند پیام با تأخیر، از کد درخواست جدید استفاده کنید.
تنظیم ارسال مستقیم کد
در «تنظیمات پیامک»:
- روش «پیامک مستقیم» را انتخاب کنید.
- متن را با جایگاه
{code}بنویسید. - ذخیره کنید.
- از فرم ورود، کد واقعی درخواست کنید.
نمونه:
کد ورود شما: {code}
در این مسیر فقط جایگاه {code} با کد تولیدشده جایگزین میشود. متن فاقد این جایگاه میتواند ارسال شود اما کد لازم را به کاربر نرساند.
مجازبودن ارسال متن مستقیم، خط و دریافت شماره را با پنل بررسی کنید. ارسال مستقیم برای همه حسابها یا شمارهها تضمین نشده است.
تنظیم الگوی کد یکبارمصرف
اگر پنل روش الگویی دارد:
- در حساب پیامکی، الگوی مناسب کد ورود را آماده کنید.
- در «تنظیمات پیامک» ماژول، روش «الگو/قالب» را انتخاب کنید.
- شناسه الگو را وارد کنید.
- ذخیره کنید.
- درخواست واقعی کد را از فرم ورود آزمایش کنید.
این مسیر فقط یک مقدار با نام فنی `code` به درگاه میدهد. برخلاف اعلان سفارش، اینجا نگاشت چندمتغیره برای نام دلخواه وجود ندارد.
در پنلهایی که متغیرها را با نام تطبیق میدهند، نام متغیر الگو باید با همین روش ارسال هماهنگ باشد. مثلاً در اتصالهایی مانند فراز اساماس و ایرانپیامک، متن الگو میتواند جایگاه %code% داشته باشد؛ نه نام دیگری مانند verification که این مسیر برایش داده نمیسازد.
در پنل ترتیبی، درگاه همین مقدار را به جایگاه اول خودش تبدیل میکند. روش نوشتن متغیر در پنلها یکسان نیست؛ {code} را برای همه پنلها به کار نبرید و متن را طبق راهنمای پنل بنویسید.
اگر الگو به نام مشتری یا چند مقدار جداگانه نیاز دارد، آن را برای این مسیر تکمقداری به کار نبرید مگر سازگاری آن را بررسی کرده باشید.
اگر شناسه خالی باشد یا درگاه متد الگویی نداشته باشد، کد میتواند به ارسال مستقیم برگردد. متن مستقیم را هم معتبر نگه دارید و فقط به انتخاب ظاهری روش اکتفا نکنید.
پس از تغییر پنل
شناسه الگوی OTP را دوباره بررسی کنید. شناسه الگوی OTP یک تنظیم عمومی ماژول است و برخلاف نگاشتهای اعلان سفارش، برای هر پنل جدا ذخیره نمیشود.
شناسه پنل قبلی را برای پنل جدید قابلاستفاده فرض نکنید.
محدودیت درخواست و محافظت از فرم
در بخش امنیت، مواردی برای فاصله درخواست، سقف ارسال و شمارههای مسدود وجود دارد.
پیشفرضهای کد:
- حداکثر درخواست در هر IP: ۱۰؛
- حداکثر درخواست در هر شماره: ۵؛
- محافظت فیلد پنهان ضدربات: روشن.
مقدار صفر برای محدودیت IP یا شماره، آن محدودیت را غیرفعال میکند؛ صفر به معنی ممنوعیت درخواست نیست.
این شمارندهها به بازه نگهداری داده وابستهاند و بازنشانی دقیق در ابتدای ساعت یا نیمهشب را تضمین نمیکنند. زمان رفع محدودیت را بر اساس تنظیمات و نتیجه واقعی بررسی کنید؛ شروع روز جدید لزوماً محدودیت را برنمیدارد.
کد همچنین تلاشهای ناموفق تأیید را محدود میکند. برای آزمون، چند بار کد اشتباه وارد نکنید مگر دقیقاً در حال بررسی همین سناریو باشید.
این تنظیمات جای نظارت بر هزینه پنل یا همه لایههای امنیتی را نمیگیرند. محدودیتها را صرفاً برای راحتترشدن تست در سایت اصلی حذف نکنید.
کاربران قبلی و سازگاری شمارهها
پیش از فعالکردن عمومی، ورود یک حساب قدیمی را آزمایش کنید. هدف این است که همان حساب باز شود، نه یک حساب جدید ناخواسته.
کد ابتدا نام کاربری منطبق با شماره و سپس اطلاعات شماره حساب را جستوجو میکند. گزینه «حالت سازگاری شماره تلفن» دامنه جستوجو در فیلدهای برخی افزونههای قبلی را گسترش میدهد.
این گزینه ابزار ادغام حسابها یا مهاجرت تضمینی نیست. قالب ذخیره شماره و وجود شماره تکراری اهمیت دارد.
برای آزمون:
- شماره یک مشتری آزمایشی قدیمی را در اطلاعات حساب بررسی کنید.
- شناسه همان حساب را یادداشت کنید.
- با همان شماره از فرم OTP وارد شوید.
- بررسی کنید حساب و سفارشهای موردانتظار دیده شوند.
- ایجادنشدن حساب اضافه را کنترل کنید.
اگر دو حساب شماره یکسان دارند یا شمارهها با قالبهای متفاوت ذخیره شدهاند، قبل از استفاده عمومی موضوع را بررسی کنید. داده حسابها را برای رفع سریع مشکل، بدون برنامه و نسخه پشتیبان تغییر ندهید.
آزمون ثبتنام جدید
برای شماره متعلق به خودتان که حسابی برای آن وجود ندارد:
- فرم را در حالت خارجشده باز کنید.
- شماره را وارد و کد درخواست کنید.
- کد دریافتشده را در مدت اعتبار وارد کنید.
- اطلاعات درخواستی فرم مانند نام را تکمیل کنید.
- نتیجه ورود و صفحه مقصد را بررسی کنید.
- در مدیریت، حساب تازه و شماره صورتحساب آن را کنترل کنید.
مسیر موبایلی پس از تأیید کد، در صورت پیدانکردن کاربر، حسابی با نقش «مشتری» میسازد. نام کاربری بر پایه شماره است و شماره در اطلاعات صورتحساب ذخیره میشود.
برای این حساب ممکن است آدرس ایمیل ساختگی از قالب شماره و دامنه سایت ساخته شود. این آدرس صندوق واقعی و قابلدریافت فرض نشود. برای خدمات نیازمند ایمیل، کاربر باید ایمیل واقعی خود را ثبت کند.
آزمون ثبتنام صرفاً ارسال پیامک نیست؛ ساختهشدن حساب درست و نقش مناسب را هم بررسی کنید.
ورود با رمز و مسیر ایمیل
اگر گزینه اجازه ورود با رمز را روشن کنید، کاربران دارای رمز میتوانند از آن استفاده کنند. کاربر تازه همچنان در شروع مسیر موبایلی کد را تأیید میکند و میتواند مرحله تعیین رمز اختیاری را ببیند.
برای حالت «هر دو» یا «فقط ایمیل»، آزمون جدا لازم است:
- ورود با ایمیل و رمز؛
- ثبتنام ایمیلی؛
- درخواست بازیابی رمز و دریافت ایمیل؛
- بازکردن پیوند بازیابی و ورود با رمز جدید.
فعالکردن ایمیل، به معنی ارسال OTP ایمیلی نیست. این آموزش تأیید امنیتی کامل تمام مسیرهای رمز و بازیابی را جایگزین نمیکند.
هدایت پس از ورود
در بخش «پس از ورود» میتوانید مقصد را تنظیم کنید. کد از حالتهایی مانند حساب کاربری، صفحه اصلی، سبد خرید، تسویهحساب، صفحه قبلی و نشانی سفارشی پشتیبانی میکند.
در حالت هوشمند، ترتیب کلی چنین است:
- مقصد صریح معتبر درخواست ورود، اگر وجود داشته باشد؛
- صفحه قبلی معتبر؛
- تسویهحساب، اگر سبد خالی نباشد؛
- حساب کاربری و در نبود آن، صفحه اصلی.
مقصد معتبر تعیینشده در درخواست ورود میتواند بر تنظیم عمومی اولویت داشته باشد. بنابراین اگر ورود از مسیر «موجود شد خبرم کن» یا صفحه دیگری آغاز شود، لزوماً همه کاربران به یک صفحه ثابت نمیروند.
آزمون را هم از صفحه ورود مستقل و هم از مسیر خرید یا محصول انجام دهید. نشانی سفارشی را طوری انتخاب نکنید که دوباره کاربر را به همان فرم برگرداند.
ظاهر فرم
در «ظاهر فرم»، لوگو، عنوان، رنگها، پسزمینه، عرض، فاصلهها و ظاهر ورودیها را متناسب با سایت تنظیم کنید.
برای شروع، ساختار ساده نگه دارید و این موارد را کنترل کنید:
- خوانایی شماره و کد در موبایل؛
- دیدهشدن پیام خطا؛
- مشخصبودن دکمه ارسال مجدد؛
- نبود فرمهای تکراری؛
- کارکرد فرم پس از فعالبودن کش و بهینهسازی واقعی سایت.
ورود بیومتریک را پس از تأیید مسیر پایه و طبق مستند جدا فعال کنید.
چکلیست آزمون نهایی
- کد به شماره خودتان میرسد.
- کد درست در مدت اعتبار پذیرفته میشود.
- کد مصرفشده دوباره قابلاستفاده نیست.
- کد منقضی پذیرفته نمیشود.
- ارسال مجدد، انتظار و پیام مناسب دارد.
- حساب قدیمی درست شناسایی میشود.
- حساب جدید با نقش مشتری ساخته میشود.
- مقصد ورود در مسیر مستقل و خرید درست است.
- خروج و ورود دوباره کار میکند.
- فرم روی موبایل و قالب اصلی آزموده شده است.
- در صورت فعالبودن ایمیل/رمز، بازیابی رمز هم آزموده شده است.
این فهرست، آزمونهایی است که باید پیش از فعالکردن عمومی فرم انجام دهید. نتیجه اجرای آنها در زمان تهیه این راهنما تأیید نشده است.
مشکلات رایج و روش بررسی
فرم نمایش داده نمیشود
ووکامرس، مجوز قابلیت، کلید فعالسازی و وجود شورتکد را بررسی کنید. با حساب خارجشده تست کنید؛ کاربر واردشده ممکن است هدایت شود.
برای قالب سفارشی به جای تکیه بر جایگزینی استاندارد، محل شورتکد را کنترل کنید.
کد ارسال نمیشود
درگاه ذخیرهشده، اعتبار، خط، روش و شناسه الگو را بررسی کنید. برای الگوی نامدار، متغیر موردنیاز این مسیر code است.
موفقیت تست مستقیم، صحت الگوی OTP را ثابت نمیکند. پیام خطای پنل را ثبت کنید و آن را با کد یکبارمصرف یا اطلاعات کلید در فضای عمومی منتشر نکنید.
پیام میرسد ولی کد داخل آن نیست
در متن مستقیم وجود {code} و در الگو سازگاری جایگاه با مقدار ارسالی را بررسی کنید. الگوی چندمتغیره یا نام متفاوت، خودکار از اطلاعات سفارش پر نمیشود.
کد درست رد میشود
آخرین درخواست را بررسی کنید. کد قبلی ممکن است با ارسال جدید جایگزین، منقضی یا قبلاً مصرف شده باشد. شماره واردشده را نیز کنترل کنید.
در صورت تلاشهای ناموفق متعدد، درخواست کد تازه ممکن است لازم شود. از ارسال پیاپی برای آزمون بیبرنامه خودداری کنید.
درخواست بیش از حد یا محدودیت روزانه دیده میشود
سقف IP، سقف شماره و فاصله ارسال را بررسی کنید. چند کاربر پشت یک اینترنت مشترک ممکن است IP یکسان داشته باشند.
مدت نگهداری محدودیت لزوماً تا نیمهشب نیست. ابتدا وضعیت و زمان درخواستها را مشخص کنید؛ همه محدودیتها را حذف نکنید.
برای مشتری قدیمی حساب تازه ساخته شده است
تشخیص شماره قدیمی را بررسی کنید: قالب ذخیره، فیلد مورد استفاده و شماره تکراری میتوانند دخیل باشند. حالت سازگاری را با داده واقعی آزمایش کنید؛ ادغام حسابها در این راهنما انجام نمیشود.
ورود موفق است ولی مقصد اشتباه است
مقصد صریح درخواست، صفحه قبلی و حالت هدایت عمومی را بررسی کنید. نشانی صفحه ورود با مقصد پس از ورود دو مفهوم جدا هستند.
پس از بهینهسازی فرم از کار افتاده است
در محیط آزمایشی، تأخیر یا ادغام جاوااسکریپت را موقتاً خاموش و صفحه را تازه کنید. کش نامناسب صفحه ورود و درخواستهای شخصی را بررسی کنید.
محدودیت ابزار امنیتی یا پاسخ غیرمنتظره درخواست هم میتواند دخیل باشد. تنظیمات حفاظتی سایت اصلی را بدون تشخیص خاموش نکنید.
غیرفعالسازی و حفظ دسترسی
پیش از خاموشکردن ورود پیامکی، یک روش ورود دیگر را آماده و آزمایش کنید؛ بعضی حسابهای موبایلی ممکن است رمز قابلاستفاده یا ایمیل واقعی نداشته باشند.
خاموشکردن این قابلیت ابزار حذف حسابهای ساختهشده نیست. پس از آن، فرم و پیوندهای صفحه ورود را بازبینی کنید و فرض نکنید همه کاربران خودکار به روش دیگری دسترسی دارند.
برای توقف خود ورود پیامکی، از کلید همین ماژول استفاده کنید. به خاموشکردن اعلانهای سفارش بهعنوان قطع تضمینی OTP تکیه نکنید؛ مسیر ارسال OTP مستقیماً درگاه فعال را فراخوانی میکند.
جمعبندی
ابتدا یک صفحه آزمایشی با فرم جم پک بسازید، درگاه را تنظیم کنید و الگوی تکمقداری مناسب کد ورود را آماده کنید. سپس حساب جدید، حساب قدیمی و مقصد پس از ورود را جدا آزمایش کنید.
پس از تأیید مسیر پایه، فرم اصلی و امکانات تکمیلی را فعال کنید؛ ارسال موفق یک پیامک بهتنهایی تأیید کامل ورود و ثبتنام نیست.
