Есть ли безопасный способ идентификации устройства, которое может быть за маршрутизатором (поэтому IP-адрес не уникален) в PHP?Как безопасно идентифицировать удаленное устройство на PHP?
Справочная информация: У меня есть несколько встроенных устройств (самозаменяемые &), которые можно связать с веб-сервером (php + mysql) со статусом обновлений. Эти обновления затем - если источник подтвержден - сохранены в базе данных.
Как я понимаю
$_SERVER['REMOTE_ADDR']
обычно можно доверять (за исключением некоторых конфигурации IIS, где он может - при особых обстоятельствах - неправомерно возвращение 127.0.0.1, но другая история)Во всяком случае, так как я использую SSL, IP-адрес действительно не должен быть проблемой, потому что требуется рукопожатие, и если IP-подделка или просто неверна, соединение не должно устанавливаться.
Теперь для меня требуется, чтобы IP-адреса были добавлены в белый список от администратора, для обновление статуса, которое должно быть рассмотрено
Устройство дополнительно отправляет МАС-адрес, чтобы идентифицировать различные модули с одинаковым IP адресом (я знаю, что это может быть очень легко подделать, и теперь будет доверять, если IP-адрес доверенного)
$_POST
Итак, прежде всего я не уверен, если IP-адрес сам по себе достаточно для того, чтобы быть в безопасности от атак извне
Во-вторых, если устройство находится за маршрутизатором, он будет иметь тот же IP-адрес, что и каждый ПК/устройство в этой сети. Поэтому о ком-то, кто может создать обновление статуса с помощью фальшивого MAC-адреса (просто как переменную сообщения), а так как IP-адрес является белым, ему будет доверено
Итак, есть ли способ подтвердить личность устройства, или вы знаете лучший способ сделать это?
Помимо этого: Идет другим способом, и у вас есть опрос веб-сервера, что различные устройства могут быть вариантом, но поскольку может быть много (> 2000) устройств, для которых нам нужен самый последний статус (изменение), я думал это неэффективно.
Ваш вопрос, вероятно, будет лучше подходит для http://security.stackexchange.com/ – RandomSeed
Сделай это! Благодарим вас за подсказку использовать подписанный сертификат! – Levit