Безопасный способ обработки входа в веб-интерфейс - PullRequest
0 голосов
/ 15 ноября 2018

Мне в голову пришло несколько вопросов о том, как обезопасить страницу входа (Web).

Когда я создавал демонстрационное приложение, например, веб-приложение с VueJS, или просто не использовал HTML / JS, я подумал, может ли быть безопасна страница входа?Или я что-то упустил.

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

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

Я вынужден делать это на PHP или же результат тот же?Я что-то пропустил?Спасибо за ваши ответы!Я надеюсь, вы понимаете, о чем я.

Ответы [ 2 ]

0 голосов
/ 15 ноября 2018

Я предполагаю, что мы находимся в типичном одностраничном контексте приложения / веб-приложения, с раздельными интерфейсными и внутренними (api) проектами, взаимодействующими через (асинхронные) HTTP-запросы:

В этом случае: Да, это будет безопасно, потому что ваш интерфейс не содержит никаких защищенных данных. Сервер отвечает только за отправку данных, которые разрешено иметь клиенту.

В этом случае не имеет значения, что именно сервер отвечает на ваш логин. Это может быть JSON с успехом и токен или текущий объект пользователя и cookie. Важной частью является то, что ваш интерфейс теперь знает секрет, который дал ему сервер. Теперь веб-интерфейс может с радостью переключиться на другое представление (помните, что представление не имеет изначально никаких данных) и запросить некоторые защищенные данные, которые он хочет отобразить, с полученным секретом.

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

К вашему последнему вопросу, если вы вынуждены PHP (или около того): Нет, но да. Вам понадобится что-то на вашей стороне сервера, которое знает о ваших пользователях и их привилегиях, что-то, что решает, кому разрешено просматривать или изменять данные, но что-то не обязательно должно быть PHP. Обычными серверными языками для веб-приложений будут Node.js, PHP и Python, но вы ни в коем случае не ограничены ими.

0 голосов
/ 15 ноября 2018

Вы можете установить переменную сеанса для текущего пользователя, если вход был успешным.Сеанс на стороне сервера, поэтому намного сложнее перехватить ключ сеанса.

Кроме того, вы можете установить отметку времени и проверить, когда при каждой загрузке страницы происходило обновление последней страницы пользователя.Если он не обновлял страницу за X раз, вы можете сбросить переменную сеанса и выйти из системы пользователя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...