Как защитить приложение, используя весеннюю загрузку и angular 8 без входа в систему? - PullRequest
0 голосов
/ 03 марта 2020

Я хочу защитить приложение, которое использует angular 8 и весеннюю загрузку 5, но это бесплатная форма и не требует входа в систему для доступа к пользовательскому интерфейсу. Я защитил его с помощью защиты CSRF, но любой может легко получить доступ к конечной точке POST, передав токен CSRF в заголовок запроса, который может быть доступен из конечной точки отдыха GET. Поэтому мне нужно хорошее решение для обеспечения безопасности, чтобы к концу весны конечные точки не были доступны, кроме angular страниц в проекте. Может кто-нибудь, пожалуйста, помогите мне.

1 Ответ

1 голос
/ 03 марта 2020

Короче говоря, нет.

У вас есть способы скрыть запросы, ударяя по конечным точкам, которые обрабатывают ваш запрос, но с самого начала подумайте, что вы не можете.

Позвольте мне объяснить подробнее: JavaScript запускается в браузере клиента. Это означает, что клиент имеет полный доступ к вашему внешнему коду: если он хочет, он может полностью сломать ваше приложение.

Плюсом является то, что оно может быть взломано только на его собственном компьютере: клиент может не связывайтесь с браузером другого клиента.

С другой стороны, к вашему серверу может получить доступ все что угодно, но вы тот, кто имеет главный контроль над ним: вы должны защитить его.

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

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

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

...