it-swarm.com.de

wie man OTP generiert und das Passwort per SMS an das Handy sendet

Ich mache ein Projekt der Verwendung von OTP für das Login der Websites. Ich habe eine Schaltfläche mit dem Namen "Generate" erstellt, sobald Sie darauf klicken, wird ein OTP erstellt und ein SMS über ein HTTP-Gateway gesendet. Anschließend wird das Kennwort gespeichert in der Datenbank.

Mein Code zum Erstellen eines OTP und zum Speichern in DB:

if(isset($_POST['generate']))
{
    $string = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $string_shuffled = str_shuffle($string);
    $password = substr($string_shuffled, 1, 7);

    $password = base64_encode($password);
    $query = mysql_query("UPDATE user_login SET password='".$password."' WHERE username = 'ajai sandy' ");
    $qry_run = mysql_query($query);
}

Jetzt muss ich diesen Code von SMS API eingeben:

http://login.smsgatewayhub.com/smsapi/pushsms.aspx?user=abc&pwd=xyz&to=919898123 456&sid=senderid&msg=test%20message&fl=0 

Die Sache ist, dass die fünfte Codezeile das OTP generiert, dann muss ich meine SMS API danach platzieren, damit sie das Kennwort an das Mobiltelefon senden könnte, dann sollte es das Kennwort verschlüsseln, das sich auf der 6. befindet Zeile und speichert dann in der Datenbank.

Ich bin nicht sicher, wie diese Aktion nacheinander ausgeführt wird, und weiß nicht, wo der Code platziert werden soll 

3
Ajai Sandy

Versuche dies.

if(isset($_POST['generate']))
{
    $string = 'abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    $string_shuffled = str_shuffle($string);
    $password = substr($string_shuffled, 1, 7);

    file_get_contents("http://login.smsgatewayhub.com/smsapi/pushsms.aspx?user=abc&pwd=$password&to=919898123456&sid=senderid&msg=test%20message&fl=0");


    $password = base64_encode($password);
    $query = mysql_query("UPDATE user_login SET password='".$password."' WHERE username = 'ajai sandy' ");
    $qry_run = mysql_query($query);
}
5
Nishant Solanki

Der folgende Code funktioniert wie ein Zauber,

 header('Location:http://login.smsgatewayhub.com/smsapi/pushsms.aspx?user=abc&pwd=$password&to=919898123456&sid=senderid&msg=test%20message&fl=0');
1
Ajai Sandy

Vielen Dank, ich verweise Sie gerne auf dieses tolle Tutorial 

//OTP SYSTEM CODE

function sendSMS($mobile=null, $subject=null)
{
$SMSapiKey = 'XYZ';
$url = 'http://example.com/api_2.0/SendSMS.php?APIKEY='.$SMSapiKey.'&MobileNo='.urlencode($mobile).'&SenderID=SAMPLE_MSG&Message='.urlencode($subject).'&ServiceName=TEMPLATE_BASED';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$returndata = curl_exec($ch);
curl_close($ch);
return "A SMS SENT SUCCESSFULLY TO $mobile";
}
$otp_code = strtoupper(substr(md5(uniqid()), 0, 6));   // A smart code to generate OTP PIN.

Testen Sie dieses großartige Tutorial und die Implementierung von G2FA für das kryptografisch gesicherte OTP make otp-System mithilfe von php .

1
RASAtech India

Hier ist ein kurzer Beispielcode, um OTP über PHP mit http://2Factor.in OTP API zu senden

 <?php

$YourAPIKey='<YourAPI>';
$SentTo='<User10DigitNumber>';


### DO NOT Change anything below this line
$agent= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322)';
$url = "https://2factor.in/API/V1/$YourAPIKey/SMS/$SentTo/AUTOGEN"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $agent);
echo curl_exec($ch); 
curl_close($ch);

Sie können auf DIESE LINK verweisen, die schnelle Schritte zum Implementieren von SMS OTP von PHP darstellen

0
Rahul