Это ошибка безопасности при работе с api или нет?
Привет.
Человек выставил свой пример сборки на vue и там данные берутся из API стороннего сервиса. Доступ по ключу, который он в личном кабинете на том сайте получил. И вот этот ключ прекрасно виден всем посетителям сайта. На php обычно все такие вещи скрыты, даже от членов одной команды - окружение локальное vs prod. А тут открытенько. Ну допустим там информация может не такая ценная, но в общем то - он нарушил тут ? Есть какие то стандарты вот такой работы с закрытым API, когда из js-а виден запрос к API? (когда это не один сайт с аутенификацией и т.д.) |
Если проект для «поиграться», то пофигу светится ли api-key или нет, если нет, то стоит скрыть api-key, например проксируя запросы своим сервером.
Если api-key жестко привязан к конкретному домену, то тут опять пофигу светится он в приложении или нет. Если у production окружения уведут api-key стороннего сервиса, который никак не защищен, то у злоумышленника появится возможность нарушить работу сервера жертвы, например, путем превышения всевозможных лимитов при работе с api. |
Цитата:
Цитата:
Цитата:
|
Цитата:
|
Все эти заголовки, рефереры, подделываются легко
|
Цитата:
В общем согласен с вами, что привязка ключа к домену - не защита вовсе. |
Да нет у меня никакой иллюзии. Ноду я не упоминал т.к. с ней не работаю на сервере, а так то понятно что она, что php в этом контексте взаимозаменяемы.
Меня удивило что тот человек такое в коде отморозил, поэтому и поинтересовался, может какой есть хитрый способ на фронте такое проворачивать. Но уже понял что нет, без бэкенда не обойтись, что славно. As a rule of thumb, never include credentials in client side JavaScript. |
Часовой пояс GMT +3, время: 14:56. |