2014-12-25 7 views
1

Я вижу, что большинство приложений (SnapChat, WhhatsApp) выполняют проверку номера телефона с помощью кода OTP/проверки.Рекомендуется проверить номер телефона локально.?

мне было просто интересно, почему не избежать этого, если public String getLine1Number() дает правильный номер телефона и сделать только verfication код на основе AUTH, если выше метод возвращает нуль или пустую строку.

Я не знаю, насколько это надежный способ делать вещи. Любые советы очень ценятся.

Thanks

ответ

0

Нет, это не рекомендуется. Телефонные номера на SIM-карте не доступны для всех операторов, например, например, в тележурнале INDIA Tata вы не можете получить этот номер. Однако в некоторых странах операторы сохраняют телефонные номера на SIM-карте, и мы можем их получить. Однако, если присутствует, он может использоваться для предварительного заполнения на Edittext и позволяет пользователю изменять его, и только последующие SMS-сообщения должны быть отправлены, если пользователь принимает.

1

Кто-то может реализовать поддельного клиента и может отправить то, что ему нравится. Сервер никогда не должен доверять информации, которую он отправляет от клиента.

0

Большинство мобильных операторов не хранят MSISDN (номер телефона) на SIM-карте.
Даже если getLine1Number() возвращает строку, строка может быть ненадежной. (из-за портирования/изменения MSISDN и т. д.)
Programmatically obtain the phone number of the Android phone

Лучше всего спросить пользователя о MSISDN для проверки SMS.

В качестве альтернативы вы можете использовать другой идентификатор.
Is there a unique Android device ID?

0

Да, и на самом деле не все устройства Android и комбинации SIM-карт будут выливать номер телефона в этом методе. Кроме того, что произойдет, если кто-то использует карту Dual SIM или пытается использовать свой личный номер телефона на своем втором телефоне? Вы должны полагаться на ввод пользователя, когда дело доходит до номера телефона, с которым они хотят быть идентифицированными.

Смежные вопросы