Как автоматически войти на сайт, используя параметры URL?

У меня была ссылка http://uuuu.com/index.jsp?username=user&password=pass. Если пользователь нажимает на ссылку, он должен автоматически войти на сайт, прочитав имя пользователя и пароль с этого URL. Таким образом, пользователю не нужно заполнять поля имени пользователя и поля пароля для просмотра сайта. Является ли формат URL-адреса правильным? Если нет, то какой формат подходит для этого?

5 ответов

Я думаю, что формат вам нужен

http://username:password@yoursitename.com/

Я бы еще сказал, что такой подход не рекомендуется. Вы не должны передавать имя пользователя и пароль через URL!

Использование фактического имени пользователя и пароля в URL-адресе является невыполнимым решением, так как это ставит под угрозу безопасность пользователей, поскольку URL-адрес будет сохранен в истории браузера или просочится. Вместо этого вам следует создать токен с ограниченным временем для каждого пользователя и добавить его в URL-адрес.

Пример:

      www.mywebsite.com/auth?token=bigtokengoeshere

Использование значения токена bigtokengoeshere на вашем сервере вы можете аутентифицировать пользователя.

Теперь, чтобы сгенерировать ограниченный по времени токен аутентификации, используйте JWT. Вы найдете реализацию этого на большинстве языков программирования. Сила JWT в том, что вы можете установить expiry_time для токена, что означает, что ваш URL-адрес авторизации действителен только для следующего X минут.

Никто не может прокомментировать, является ли формат URL правильным или нет, не зная внутреннюю часть реализации аутентификации на сервере. Одно можно сказать наверняка - это плохая идея с точки зрения безопасности, поскольку параметры, добавленные к URL-адресу, не являются безопасными.

Если вы используете j_security, попробуйте это

http://uuuu.com/index.jsp/j_security_check?j_username=username&j_password=password

Если у вас есть имя пользователя и пароль, то я бы предложил использовать HTML-тег формы. Посмотреть здесь.

Но учтите, что если вы применили токен Anti-Forgery для предотвращения CSRF-атаки, он также может не работать.

Другие вопросы по тегам