Можно ли скрыть поле пароля из адресной строки? - PullRequest
0 голосов
/ 22 августа 2011

У меня есть форма входа с именем пользователя и паролем.Это работает, но после запроса я вижу в веб-браузере что-то вроде "... login? User = myUser & password = myPassword".

Учитывая, что в форме есть поле пароля, которое скрывает пароль при вводе,было бы не смешно видеть пароль в адресной строке.

Можно ли этого избежать?

Проверка пользователя выполняется на сервере с пользовательским веб-сервером Java.

Ответы [ 8 ]

7 голосов
/ 22 августа 2011
  1. Установите для своей формы HTTP method значение POST вместо GET. Это исключает форму для добавления параметров в URL.
  2. Защитите свою страницу, чтобы использовать HTTPS вместо HTTP. Таким образом, перехватчик не может прочитать незашифрованное сообщение HTTP POST.
1 голос
/ 22 августа 2011

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

 <form method="GET" action="......

... to ...

<form method="POST" action=".....
1 голос
/ 22 августа 2011

Единственный способ сделать это - не использовать GET метод отправки формы. Вам нужно использовать метод POST. Более подробную информацию можно найти здесь http://www.cs.tut.fi/~jkorpela/forms/methods.html

Ваша форма будет выглядеть так

    <form method="post" action="somepage.php">
    </form>
0 голосов
/ 22 августа 2011

Когда вы видите «login? User = myUser & password = myPassword» в адресной строке, это означает, что ваша форма входа в систему использует метод запроса GET:

   <form id="login" action="some_file" method="get">

Самый простой способ скрыть эту информациючтобы перейти от метода GET к POST:

   <form id="login" action="some_file" method="post">

Подробнее об обоих методах можно прочитать здесь:

Когда использовать POST и GET?

Однако учтите, что POST не намного безопаснее, чем GET.Вы можете прочитать больше об этом здесь:

POST и GET с точки зрения безопасности

0 голосов
/ 22 августа 2011

Измените атрибут 'method' в форме с "get" на "post" - и отправьте запрос по HTTPS, предпочтительно.

0 голосов
/ 22 августа 2011

Преобразуйте вашу форму, чтобы использовать HTTP-метод «POST» вместо «GET», например:

<form action="/login" method="post">

Также рассмотрите возможность скрыть пароль перед его передачей, например, используя схему, такую ​​как Base64 или MD5.

0 голосов
/ 22 августа 2011

Да, используйте запрос POST вместо GET.

0 голосов
/ 22 августа 2011

Вы можете закодировать пароль, который затемнит его.

Однако использование формы POST вместо этого скроет все ее поля.

...