Как распознать клиента без установки у него приложений

Всем добра! Пишу в данном разделе, так как тема не относится к Ардуино (ну может косвенно) Опишу задачу, может кто то уже решал подобную. Есть система управления шлагбаумами, воротами, электро замками помещений, светом, ну и многими подобными механизмами. Клиентам данной системы созданы аккаунты, через который они заходят на индивидуальную страничку созданную на сервере. Эта страница содержит просто кнопки, которые ему доступны для управления механизмами (выданы права доступа таким способом). Приложения под андроид/иос категориески отвергается. Необходимо инициализировать клиента кроме логина и пароля (выдаётся клиенту индивидуально) ещё как то. Цель, чтобы клиент не мог передать третьему лицу свои данные входа. Короче, чтобы с другого телефона нельзя было войти под логином и паролем другого человека. Прошу подкинуть идею как это можно сделать. Надеюсь на людей, кто хорошо знаком с HTML,JS Заранее спасибо.

Не надо ограничивать передачу аккаунтов, посмотри на это с другой стороны. Сделать каждый вход на страничку платным - и пусть передают свои входы, сколько влезет.

Саб! Всякие фингерпринты хороши, если это просто анализ трафика, без принятия решений. Поскольку будут сбоить, будут ругаться на новый тилипон у нормального юзверя и прочее.
Я предлагаю честную процедуру. Креденшиал не действуют, пока юзверь НА ДРУГОЙ странице не подтвердит что-он-не-верблюд. Это т.н. “активация” акка. При снеме мобильника - новая активация. Ты уж сам выбери чем активировать - СМС, Почтой, Телегой, Вацапом, или любым из них.
В реальности активация - это просто выдать токен юзверю и хранить его в куках.
Вот и все. При передаче другому - зае…ись! “Другой” должен активировать свой тилипон - то есть получить токен, таким образом старый перестанет быть активным.


И да - активация акка придумана сильно до меня. Я просто максимально просто её изложил. Третья часть аутентификации пользователя - кукис, сохраненный в тилипоне при активации. Все понятно? Просто? ИМХО - очень просто.


причем это так прямо юзверям и написать: “При очистке данных браузера на тилипоне требуется повторная активация”. Это всем будет понятно, (кроме ипанутых страушек :joy:) .

2 лайка

Влад, спасибо за алгоритм с временными токенами. ВООМ уже даже нашёл кое что в этом направлении

<pre>
<script>

  for(var prop in navigator) { 
    if (navigator[prop] instanceof Object || navigator[prop]==='') continue
    document.writeln(prop+": "+navigator[prop])
  }

</script>

Этот скрипт выводит инфу о браузере с которого заходят на страницу аккаунта. Но пока не знаю где хранить данную инфу и как сравнивать. Буду думать.

МАС адрес устройства писать при регистрации, самое простое, я пишу в SQL базу

Чаще всего такое решается одноразовым паролем.

Вы заходите на страничку, жмете кнопку (Получить пинкод). Поле для телефона заполнится один раз и запомнится. Логин уже осуществляется по вот этому одноразовому пину.

Отсылку пина с сервера можно сделать или по СМС или по WhatsApp (есть интернет сервисы, предоставляющие такую услугу - отсылку сообщений через WatsApp для IoT устройств как раз).

Таким образом сервер будет однозначно знать ху из ху.

Да и логин с паролем в такой схеме не нужен. Просто номер телефона клиента вносится в базу сервера и все.

Привязываться к какой-то аппаратной части, генерировать фингерпринт - не очень хорошо. Это вы ограничение клиенту предлагаете, совсем ему не нужное.

Мало-ли - сменил человек телефон. Или у папы сел мобильник, а он симку в телефон сынули вставил - и что ему теперь, перед шлагбаумом ночевать?

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

Запрос можно любой соорудить и отослать. Нет доверия этой информации, короче говоря, не ориентируйтесь на нее.

Как получать этот мак для поверки при идентификации? С другого телефона будут входить третье лицо под логином и паролем официального пользователя системой. Людям использующим систему пофиг, и легко передают свои права другим, даже левым не живущим в данном комплексе. Ни какой ответственности еа еих не возлагается. С ктаким же успехом вместо мака можно и имеи передавать.

я на php это реализовывал, примеры есть в инете, к примеру тут, (не проверял)

Окаком сооружении запроса идёт речь? И как сооужать какой то запрос со стороны пользователя. Видно Вы не в теме.

Много чего по написали тут… Не мало полезного.
Но. В каждом случае придется чем-то жертвовать.
Надо тебе определиться - чем именно.

Например, привязка к конкретной “железке” ограничивает возможность использования сторонней (при смене “железки” или просто “села батарейка”).

Может быть даже полезнее будет сочетать…

http запрос. из которого вы хотите вытаскивать чувствительную информацию.

запишем…
а вот в сети говорят, прям там же на форуме и в других местах:

средствами PHP это невозможно, так как мак адрес дальше роутера не выходит
2 лайка

Да он и не читал тему, на которую ссылку дал :laughing:

Цитата:

Добавлю.
никакими средствами (ни PHP, ни С, ни даже Ассемблера) узнать MAC-адрес сетевого интерфейса пользователя (посетителя хоcта), находящегося где-то за пределами вашей локальной сети - НЕВОЗМОЖНО!
PHP-код работает на веб-сервере.
Поэтому, MAC-адрес, определяемый на PHP, будет адресом сетевого интерфейса на сервере.
Это имеет смысл только для узла “администратора” сети

2 лайка

че получается, опять натрындел?
не даром в теме святого нуба первым отметился))

ладно посмотрим, выскальзывать будет или сольется :thinking:

Еще раз перечитал заголовочное от ТС, не увидел, что у него шлагбаум светит наружу, ткните носом

в общем то, было предсказуемым :rofl:

1 лайк

подъезжаешь такой к воротам и давай к их вайфаю цепляться :rofl:
не, в этот раз выскользнуть будет тяжко!

1 лайк