<<< Back

Ввод пин-кода или киношный экран разблокировки


znachok88 (2019-09-13 07:45:56):

очень крвто выглядит, но так и не понял какой можно придумать пароль, что бы не вышло миллиона вариантов правельных

(0)
 
nick7zmail (2019-09-13 08:22:37):

Что то больно замудрено))
Я кому то делал пинпад - было в разы проще)) на базе https://codepen.io/totalnerd_es/pen/AwKLk вот этого вроде, но эт не точно...много их развелось. Имя кнопок можно параметром передавать в 1 функцию, тогда вместо 10 функций будет 1.

(0)
 
newz20 (2019-09-13 08:26:33):

Верно вариантов из 4 цифр получается правильных много. Всего если правильно применить ниже написанное комбинаций несколько тысяч в итоге получается. Есть счетчик попыток, что закрывает брешь безопасности частично :)
Реализация очень простая, поэтому и методы прописаны простые, для более крутых реализаций будет намного сложнее и мне пока не доступно. Так что отдаю как есть пока.
вчера немного обсуждал это с Xorом,
Вот часть переписки
сейчас надо с трёх попыток угадать 4 кнопки из 12, что дает 495 сочетаний всего, надо думать про повторы(
если после первых трёх неверных будет приезжать наряд, то и не важно)
Можно добавить что код может быть и 2 и 3 и 5 и 6 чисел
в принципе - можно набирать всё время по разному - если код 1239, то и 9921132 пойдёт и 1123993, если подглядывать будут, хрен догадаются
Может кто еще что предложить сможет интересного

(0)
 
newz20 (2019-09-13 08:30:10):

nick7zmail, все верно, но как я писал в статье, люди спрашивают и уходят с пустыми руками, тут реализация на мои знания. Параметром можно, но я не осилю пока по знаниям. Я буду очень рад если будут варианты проще и короче.

(0)
 
newz20 (2019-09-13 08:33:35):

nick7zmail, ссылка твоя очень интересная, будет время я её расковыряю и попробую реализовать, если не будет получатся обращусь за помощью к тебе.
Да и я очень далек от программирования и дизайна.

(0)
 
nick7zmail (2019-09-13 09:39:14):

А вот ща я ещё взглянул на код...не...так точно не пойдёт. Комбинация правильная должна быть только 1. Тут 2 варианта возможны:
1) на JS накопить символы, отправить их в свойство и сравнить с нужным пином
2) на php накапливать цифры в свойстве, а по нажатию энтер - сравнить их с нужным, и выдать результат.
А можно ещё и без кнопки ввода сделать - по набору нужного количества символов - пин автоматически проверяется и выдаёт результат.
Тут кто во что горазд)) Могу накатать статейку с примерами если нужно. Не думал, что это такая проблема)

(1)
 
newz20 (2019-09-13 11:18:35):

nick7zmail, было бы очень круто, сейчас ковырял твой пример, вроде все заработало. несколько вопросов есть, но не критично. Опишу как у меня получилось. Но если у тебя будет время твоя статья лишней не будет точно.

(0)
 
nightwind (2019-09-14 17:41:42):

зачем гемор с кнопками, если простой инпутбокс можно? типа моднее?)
а чтобы не догадались какой пин можно вырезать из строки серединку. типа пин 1234 а вводить ххх1234х. х или рандомные или чтонить типа дня недели. никто ниразу не догадался)

(0)
 
newz20 (2019-09-14 19:26:23):

nightwind, ну не знаю инпутбох вводить же с клавиатуры придется, а значит тыкать в мелкие клавиши клавы, даже если она только цифровая вызывается то это только половина экрана. тут больше решения под тач было предложено. Можно выводить ее только при активированном режиме охраны и перекрывать весь экран. Если у вас реализовано через инпутбокс опишите, тоже полезно

(0)
 
newz20 (2019-09-14 19:28:17):

Статья останется здесь как один из вариантов, учтенные ошибки исправлены в новой https://connect.smartliving.ru/profile/2594/blog/v...

(0)
 
Alex80 (2019-10-06 14:43:16):

добавил в струку
if ($pass==$passOK) {
echo 'пароль верен';
$this->setProperty('popitka','0') &
(gg('Keyboard.popitka')=='0');
callMethod('SecurityArmedMode.deactivate'); но чего то как то не срабатывает выключение SecurityArmedMode.deactivate, работает только через ADMIN панель когда нажимаешь на тест... как можно исправить?

(0)
 
newz20 (2019-10-06 18:06:54):

Alex80, создали свойство pass? в него надо ввести данные о правильном пароле, В вашем коде ошибка. нужно примерно так if ($pass==$passOK) {
echo 'пароль верен';
$this->setProperty('popitka','0');
callMethod('SecurityArmedMode.deactivate');}

Так же рекомендую обратить внимание что есть вторая статья дополненная и работающая по другому принципу.

(0)
 

Please login to leave comments. Join us!