no-img
دس پرو | طراحی وب سایت و برنامه نویسی

تایید شماره موبایل با SMS در PHP | دس پرو | طراحی وب سایت و برنامه نویسی


دس پرو | طراحی وب سایت و برنامه نویسی
مطالب ویژه
ads
گزارش خرابی لینک
اطلاعات را وارد کنید .

ادامه مطلب

تایید شماره موبایل با SMS در PHP
zip
آذر ۵, ۱۳۹۷

تایید شماره موبایل با SMS در PHP


تایید شماره موبایل با SMS در PHP

احراز هویت کاربر با شماره موبایل همراه و SMS راهی سریع و موثر است که بطور عمومی بیشتر در نرم افزار های موبایل و سیستم های بانکی برای فعال سازی پیامکی استفاده می شود.

بنابراین ما هم می توانیم در سیستم لاگین کاربر با تایید پیامک ارسالی به کاربر حتی بدون استفاده از رمزعبور دایمی , احراز هویت با پبامک در PHP انجام بدیم.

در این آموزش PHP , قصد داریم به شما نحوه پیاده سازی تایید شماره موبایل با SMS در PHP که یک رمز یکبار مصرف (OTP) را ارسال می کند, به شما نشان بدیم.

 

ما از سرویس پنل پیامک (payamak-panel.com) استفاده می کنیم. که در بخش وب سرویس (API) می توانیم نمونه کدها و داکیومنت را ببنیم.

همچنین یک پنل پیامکی دیگری از sms.ir داریم که من فقط کدهای نمونه و نحوه استفاده از آن را در قالب یک مثال به همراه سورس کد این پس قرار میدم تا بتونید استفاده کنید.

توجه : بعضی از پنل های پیامکی امکان ارسال پیامک صوتی را هم دارند که خب مطمینا نرخ آنها بالاتر از SMS است.

مراحل زیر برای پیاده سازی تایید شماره موبایل با SMS در PHP دنبال خواهد شد.

  • ایجاد کد اعتبارسنجی تصادفی
  • ارسال کد OTP پنج رقمی به کاربر با استفاده از سرویس API پنل SMS و اضافه کردن آن به دیتابیس
  • تایید کد ارسال به شماره همراه کاربر و بروزرسانی وضعیت آن در دیتابیس
  • نمایش وضعیت اعتبارسنجی پیامکی به کابر

 

ساخت جداول دیتابیس

برای ذخیره کد یکبار مصرف (OTP) و اعتبارسنجی وضعیت, نیاز به ساخت یک جدول در دیتابیس MySQL داریم.

با کد SQL زیر می توانید جدول mobile_numbers به همراه چند ستون ابتدایی را ببینید.

کلاس اتصال به دیتابیس (DB.class.php)

کلاس DB تمام عملیات مربوط به (واکشی, قرار دادن و بروزرسانی) را مه مربوط به دیتابیس است انجام می دهد

برای دیدن تمام کدهای این کلاس لطفا از باکس دانلود, سورس کد را دریافت کنید.

توابع زیر برای fetch, insert, update اطلاعات OTP در دیتابیس استفاده شده اند.

  • __construct() – اتصال و انتخاب دیتابیس
  • checkRow() – بررسی می کند که آیا رکوردی مبنی بر شرط برقرار شده در جدول mobile_numbers وجود دارد یا خیر. اگر وجود داشته باشد true و در غیر اینصورت false را برگشت می دهد.
  • Insert() – داده ها در در جدول mobile_numbers اضافه می کند.
  • Update() – داده ها را بر اساس شرط, در جدول mobile_numbers بروزرسانی می کند.

فرم احزار هویت موبایل

در ابتدا یم فرم HTML نمایش داده می شود که به کاربر اجازه ارسال شماره موبایل را می دهد. بعد از وارد کردن شماره همراه, فیلد ورودی کدی که پیامک شده است برای کاربر نمایش داده می شود.

ثبت و اعتبارسنجی کد اعتبارسنجی (OTP)

بعد از ارسال (submit) , شماره موبایل و رمزعبور یکبار مصرف توسط درگاه SMS در PHP اعتبارسنجی می شود.

  • sendSMS() یک تابع سفارشی است که با آن به وب سرویس پنل پیامکی متصل و SMS را ارسال می کنیم. (آموزش ارسال SMS با PHP)
  • یک نمونه از کلاس DB را برای مدیریت عملیات مربوط به دیتابیس ایجاد می کنیم.

زمانی که شماره موبایل کاربر ثبت شد, عملیات زیر انجام می شود.

  • یک کد تصادفی برای اعتبارسنجی با تابع rand() در PHP ایجاد می شود.
  • از متد checkRow() از کلاس DB برای بررسی اینکه آیا شماره همراه قبلا در دیتابیس وجود دارد یا خیر استفاده می کنیم.
  • اگر موجود بود, فقط verification_code را در دیتابیس با متد update() در کلاس DB آپدیت می کنیم.
  • اگر شماره موبایل موجود نبود, داده های OTP را با متد insert() از کلاس DB , در دیتابیس اضافه می کنیم.
  • کد OTP را توسط تابع sendSMS() به شماره همراه کاربر ارسال می کنیم.
  • اگر ارسال پیامک به کاربر موفقیت آمیز بود, فیلد ورودی OTP فعال خواهید شد.

 

زمانی که کد توسط کاربر وارد و ارسال شد:

  • کد OTP وارد شده توسط کاربر را بررسی می کنیم که صحیح است یا خیر.
  • وضعیت اعتبار سنجی کاربر در دیتابیس (فیلد verified) را بروزرسانی می کنیم.

وضعیت اعتبارسنجی

اگر شماره موبایل کاربر به موفقیت اعتبارسنجی شده باشد, پیام وضعیت زیر را نمایش می دهیم.

تایید شماره موبایل با SMS در PHP

امیدوارم از آموزش تایید شماره موبایل با SMS در PHP نهایت استفاده را برده باشید.

منبع : نت پارادیس



موضوعات :
PHP , برنامه نویسی وب

دیدگاه ها


دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *