Поскольку я не могу использовать SSL на некоторых серверах, которые отправляют конфиденциальные данные, используя bearer tokens
. Я думал о назначении IP-адреса, когда пользователь входит в систему, и присоединении его к каждому JWT в базе данных, и проверке его перед обновлением (токены доступа с коротким сроком службы). Проблема, которую я обнаружил, заключается в том, что я не знаю, как безопасно получить IP-адрес в бэкэнде.
Я видел, что вы можете установить app.set('trust proxy', true)
для вашей инициализации express, а затем получить IP-адреса с помощью req.ip
, но, очевидно, поскольку app.set доверяет прокси, это означает, что заголовок, полученный express, может быть изменен атакующим, верно? Так что это было бы бессмысленно, поскольку любой мог бы встроить поддельный ip.
Есть ли альтернатива этому, не использующая ssl и не использующая aes для шифрования токенов на предъявителя?