2010-03-04 5 views
0

Я заходил на веб-страницу, используя http: // Я перенаправляю javascript на https: //. Откроется страница входа в систему под https. После успешной регистрации следующая страница снова находится в http. Почему не открылась следующая страница с https. Я использую JETTY в качестве веб-сервера.HTTPS переключается на HTTP

ответ

4

Вы отправляете свою регистрационную форму на адрес http://mysite.com/login.php?

Если да, то я бы рекомендовал использовать относительную ссылку (например <form action="login.php" method="POST">)

+1

Осторожно: если вы используете относительные ссылки, ваша страница входа в систему должна быть запрошена через HTTPS, иначе секреты будут передаваться по-умолчанию. Я бы рекомендовал форматировать HTTPS для формы входа. – hannson

0

Шифрование обычно используется только при передаче конфиденциальных данных, таких как имена пользователей и пароли (или вашего счета в интернет банке).

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

Серверное программное обеспечение может работать что-то вроде этого на странице входа:

  1. Пользователь переходит на странице входа в HTTP: //mysite.com/login
  2. отображается страница Войти. В HTML форма указывает на HTTPS: //mysite.com
  3. типов пользователей имя пользователя/пароль и отправляет форму по зашифрованному сессии
  4. земли пользователя на «Вход» успешной страницу, которая перенаправляет на незашифрованном HTTP: //mysite.com/

HTTP поддерживает переадресацию в заголовке, используя Место жительства команду:

Location: http://www.example.org/ 
Content-Type: text/html 
Content-Length: 174 

Надеюсь, это поможет!

+0

Я хотел, чтобы сеанс оставался https, который я получил, чтобы работать через перенаправление. Если я набираю http: // ipaddress. Я перенаправляюсь на https: // ipaddress, а сеанс - https. Однако, поскольку порт 80 для http открыт, я все еще могу получить доступ к страницам через http после входа. Кажется, я могу получить доступ как к http, так и к https. Я бы хотел, чтобы он был только https. Это может повлиять на скорость, но это нормально со мной. существует ли способ, который, если пользователь набирает http: //ipaddress/jsp/page.jsp, он получит страницу с ошибкой или некоторую ошибку. – Jim

Смежные вопросы