Es ist wie folgt: Zuerst habe ich einen kleinen zufälligen 6-stelligen Code (OTP) generiert
Code: Select all
int otp = new Random().nextInt(900000) + 100000;
sende ich dieses OTP an die vom Benutzer eingegebene Mobiltelefonnummer, die ich überprüfen muss.
Ich verwende dafür den eigenen SMS-Dienst des Benutzers
Code: Select all
SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage(user_mobile.getText().toString(),null,"Otp for verification is: "+otp,null,null);
erstelle ich eine Absicht, starte eine neue Aktivität und übergebe OTP an eine neue Aktivität
Code: Select all
Intent itn = new Intent(MainActivity.this,OtpPage.class);
itn.putExtra("Otp",s_otp);
startActivity(itn);
lasse ich den Benutzer einfach das OTP eingeben, das er per SMS erhalten hat, und verifiziere es mit dem OTP, das ich von einer vorherigen Aktivität erhalten habe, indem ich Intent verwende. Wenn beide identisch sind, verifiziere ich die Mobiltelefonnummer ,
Jetzt ist meine Frage: Ist das eine gültige Methode oder enthält sie einige Sicherheitslücken?
Wenn ja, welche Sicherheitsprobleme können hier auftreten?