Reza Jashnsaz
5 سال پیش توسط Reza Jashnsaz مطرح شد
11 پاسخ

احراز هویت پیامکی مثل دیوار

سلام میشه یه راهنمایی کلی کنید درباره نحوه پیاده سازی احراز هویت دیوار ؟
چجوری پیاده سازی میشه و
موارد امنیتی که کاربر نتونه کلک بزنه و ...
ممنون


ثبت پرسش جدید
امیرحسین فلاحی
تخصص : توسعه دهنده وب
@amhfallahi.dev 5 سال پیش مطرح شد
1

برای احراز هویت معمولا اکثر سایتها از سرویس های احراز هویتی مثل کاوه نگار استفاده میکنن
طرز استفادش هم به این صورت هست که شما از هر طریقی که بخواید یه درخواست به سرور اونها ارسال می کنید و پیامک برای کاربرتون ارسال میشه. کد رو باید خودتون بسازید و بفرستید. برای امنیتش هم معمولا از ثانیه شمار و چک کردن شماره تلفن درست و غیر تکراری استفاده میشه. توی سایت کاوه نگار قشنگ توضیح دادن و داکیومنت خوبی داره


عرفان همتی
تخصص : Backend Developer
@erfanhemmati 5 سال پیش مطرح شد
1

https://github.com/erfanhemmati/Laravel-Sms-Authentication
میتونید از نمونه کد بالا استفاده کنید.


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 5 سال پیش مطرح شد
0

راستش کارفرما گفته از سرویس 0098sms میخواد استفاده کنه .. ولی مستندات درست حسابی نداره !
کسی تجربه کار با این سرویس رو داره ؟


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 5 سال پیش مطرح شد
0

برای سرویسی که اشاره کردید من مستنداتی ندیدم

از سرویس کاوه‌نگار استفاده کنید، اکثرا راضی هستند


mahdi khanzadi
تخصص : Software engineer
@khanzadimahdi 5 سال پیش مطرح شد
0

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

https://github.com/tzsk/sms

درگاه های ایرانی این پکیج رو من توسعه دادم و بهش اظافه کردم. همچنین درگاه های خارجی رو هم ساپورت میکنه.


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 5 سال پیش مطرح شد
0

@ali.bayat
@khanzadimahdi
@amhfallahi
@mrerfan.ir
@hesammousavi
مشتری این 0098sms رو گرفته متاسفانه...
کلا یه لینک هست که یه سری اطلاعات داره بصورت get میفرسته که شماره موبایل و کدفعالسازی هم جزو پارامترای اون لینک هست
حالا من نمیدونم چجوری اون لینک رو بفرستم با لاراول ! با file_get_content عملی میشه یا راه بهتری هست ؟


امیرحسین فلاحی
تخصص : توسعه دهنده وب
@amhfallahi.dev 5 سال پیش آپدیت شد
0

@rezajashnsaz0011
با ajax میتونی این کارو انجام بدی خیلی راحت

$.ajax({  
url : '/login',  
method : 'post',  
data : {  
login\_username : userName,  
password : password  
},  
headers:  
{  
'X-CSRF-TOKEN': $('meta\[name="csrf-token"\]').attr('content')  
},  
success : function(response){

}

});

توی فانکشنت اول شماره تلفن رو چک کن
بعد کد رو با این بفرست به سرور
بعد توی فانکشن ریسپانسش فرمت رو تغییر بده یا برو صفحه بعد که یه تایمر 1 دیقه ای نشون بدی با دکمه ارسال مجدد کد که بعد از این یه دیقه فعال میشه و ورودی و دکمه ی تایید کد که چک میکنه کدی که از ریسپانس برگشته با کد ورودی کاربر یکی باشه
اگه اوکی بود هم باز فرمت رو تغییر میدی و کاربر رو لاگین میکنی و تمام

https://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_ajax_get
اینم یه کد راحت تر که دیتاهاتو توی خود url میفرستی و ریسپانسش رو میگیری البته جیکوئری رو اد کن حتما


عرفان همتی
تخصص : Backend Developer
@erfanhemmati 5 سال پیش مطرح شد
0

@rezajashnsaz0011
ارسال پیامک به روش Url هستش ؟


Reza Jashnsaz
تخصص : مهندس نرم افزار
@rezajashnsaz0011 5 سال پیش مطرح شد
0

@mrerfan.ir
@amhfallahi
ببینید یه لینک هست مث این
http://www.0098sms.com/sendsmslink.aspx?FROM=30005367&TO=$TO&TEXT=$TEXT&USERNAME=test&DOMAIN=0098
اگه دستی کپیش کنم تو مرورگر sms رو میفرسته
ولی نمیدونم چجوری با لاراول این لینک رو بفرستم!


عرفان همتی
تخصص : Backend Developer
@erfanhemmati 5 سال پیش مطرح شد
1

@rezajashnsaz0011
میتونی با استفاده از Crul این کار رو انجام بدی...
فقط کافیه یه درخواست get بفرستی به Url ( با پارامترهایی که خودت مشخص میکنی )

public static function send($phone, $name)
    {
        $verification_code = mt_rand(1, 999999);
        $text = "$name عزیز \n کد فعال سازی شما برابر است با : $verification_code";
        $data = array(
            'Username' => env('RAYGANSMS_USERNAME'),
            'Password' => env('RAYGANSMS_PASSWORD'),
            'PhoneNumber' => env('RAYGANSMS_PHONE_NUMBER'),
            'MessageBody' => $text,
            'RecNumber' => $phone,
            'Smsclass' => '1'
        );
        $ch = curl_init();
        $parameteres = http_build_query($data, 'flags_');
        $url = "https://RayganSMS.com/SendMessageWithUrl.ashx?" . $parameteres;
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $output = curl_exec($ch);
        curl_close($ch);
        // echo $output;
        return $verification_code;
    }

امیرحسین فلاحی
تخصص : توسعه دهنده وب
@amhfallahi.dev 5 سال پیش مطرح شد
1

توی خود صفحه htmlتون به این صورت بنویسید ببینید جواب میده؟

<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $("button").click(function(){
    $.get("http://www.0098sms.com/sendsmslink.aspx?FROM=30005367&TO=$TO&TEXT=$TEXT&USERNAME=test&DOMAIN=0098", function(data, status){
      alert("Data: " + data + "\nStatus: " + status);
    });
  });
});
</script>
</head>
<body>

<button>Send Message</button>

</body>
</html>

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام