|
|
|
GSM в устройстве. Пользователь ввел неправильный PIN, как обрабатывать? |
|
|
|
Jun 27 2018, 16:46
|
Гуру
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095
|
Ситуация: пользователь в настройках устройства ввел неправильный PIN-код. Или сменил SIM-карту и в устройстве оказался неподходящий к этой карте PIN. Понятно, что получив от модема +CME ERROR: 16 (incorrect password), попытки ввода прекращаем и включаем красный свисток. Допустим, я могу запомнить этот факт, чтобы не повторять попытку после передергивания питания до тех пор, пока пользователь не сменит PIN в настройках. Но пользователь может вытащить карту, вставить ее в телефон, сменить на ней код на тот, кторый прописан в устройстве и вставить карту обратно. Или со словами "Семен Семеныч! Это же не та карта" вставить другую карту. А устройство больше не будет пытаться запустить модем, ожидая смены PIN-кода. Облом.
Хотел перед вводом PIN считать IMSI и проверять на совпадение с тем, в который была неудачная попытка ввода. Это решило бы все проблемы. Но модем не может считать IMSI до ввода PIN кода.
Можно перед вводом кода дать AT+SPIC и вводить код только в том случае, если количество оставшихся попыток больше двух (больше трех же вроде не бывает?). Вроде бы тоже почти все проблемы решает - после смены PIN внешним телефоном количество попыток сбрасывается, при смене карты тоже можно ожидать, что в ней количество попыток будет равно трем. Но остается возможность, что вставили карточку в кторую уже однажды вводили неправильный PIN. И формально вроде бы есть возможность ввести код и затавить устройство работать. Но если мы будем вводить код пока количество попыток больше одной - мы оставим пользователю только одну попытку на смену кода внешним телефоном.
Как вы поступаете в таких случаях? Просить пользователя отключать проверку PIN в карточке - не выход.
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
Jun 27 2018, 18:51
|
Гуру
Группа: Участник
Сообщений: 2 219
Регистрация: 16-08-12
Из: Киров
Пользователь №: 73 143
|
Цитата(Сергей Борщ @ Jun 27 2018, 19:46) Понятно, что получив от модема +CME ERROR: 16 (incorrect password), попытки ввода прекращаем и включаем красный свисток. Допустим, я могу запомнить этот факт, чтобы не повторять попытку после передергивания питания до тех пор, пока пользователь не сменит PIN в настройках. Но пользователь может вытащить карту, вставить ее в телефон, сменить на ней код на тот, кторый прописан в устройстве и вставить карту обратно. Или со словами "Семен Семеныч! Это же не та карта" вставить другую карту. А устройство больше не будет пытаться запустить модем, ожидая смены PIN-кода. Облом. А в чем проблема, непонятно, в том, что после каждого рестарта, или подачи питания не пытаться вводить установленный этим пользователем ПИН, чтоб карта не заблокировалась? Так все куда проще, при попытке ввода неправильного пина, если устройство сообщает пользователю, что пин не тот, но он упорно игнорирует это, то дебильство не лечится это его проблемы, кроме того он сможет разблокировать даже такую карту, если он в телефоне введет правильный код, то счетчик попыток в симке сбрасывается и у него будет снова 3 попытки, если уж и это не поможет, тогда в клинику Цитата(Сергей Борщ @ Jun 27 2018, 19:46) Просить пользователя отключать проверку PIN в карточке - не выход. Если не секрет, почему? Мы в своих аппаратах так и делаем, куда меньше глупых вопросов потом, аппаратов сотни по России и СНГ, никто не жаловался на это...
|
|
|
|
|
Jun 27 2018, 19:31
|
Гуру
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095
|
QUOTE (mantech @ Jun 27 2018, 21:51) Так все куда проще, при попытке ввода неправильного пина, если устройство сообщает пользователю, что пин не тот, но он упорно игнорирует это, то дебильство не лечится это его проблемы, PIN программируется в устройство с компа. Потом устройство отключается от компа и включается в рабочий режим уже без компа. Или же PIN программируется в устройство удаленно, потом приходит монтажник и втыкает в устройство GSM-модем. То есть на момент ввода PIN в модем у пользователя есть либо красная лампочка на устройстве или вообще ничего. QUOTE (mantech @ Jun 27 2018, 21:51) Если не секрет, почему? Мы в своих аппаратах так и делаем, куда меньше глупых вопросов потом, аппаратов сотни по России и СНГ, никто не жаловался на это... Теоретически, устройство может находиться в таком месте, где нехороший человек может симку украсть. И чтобы он с этой симки не смог наговорить с Занзибаром на заоблачную сумму...
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
|
|
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|