Использование HTTPS вместо HTTP - PullRequest
3 голосов
/ 12 декабря 2011

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

В настоящее время на моем сервере у меня есть папка с именем httpdocs, здесь хранится мой веб-сайт, у меня также есть папка с именем httpsdocs.

Теперь, как я уже сказал, мой веб-сайт хранится в httpdocs, поэтому логически я бы пошел на http://website.com

Но я обнаружил, что если я зайду на https://website.com, я получу безопасное соединение со страницами, хранящимися в httpdocs.

В любом случае, мой вопрос: всякий раз, когда я перехожу на другую ссылку, я теряю безопасное соединение (URL возвращается на http://) Так, как мне сохранить все это безопасным? Должен ли я использовать полный URL в href, потому что это кажется немного неубедительным вместо использования href = page2.php.

Я новичок в этой области разработки веб-сайтов, но у меня есть опыт разработки, если это поможет вам.

Большое спасибо за помощь.

Некоторые базовые учебные пособия или материалы для чтения были бы замечательными, если бы кто-нибудь знал что-нибудь хорошее?

Еще раз спасибо.

Ответы [ 3 ]

2 голосов
/ 12 декабря 2011

Чтобы ответить на ваш вопрос в комментариях, вы должны использовать mod_rewrite (при условии, что он включен):

RewriteEngine On 
RewriteCond %{SERVER_PORT} 80 
RewriteRule ^(.*)$ https://www.yourdomain.com/$1 [R,L]

, который отправит любую веб-страницу на https.

2 голосов
/ 12 декабря 2011

Не используйте http://foo.com/path в URL, используйте //foo.com/path (или, что еще лучше, если вы остаетесь на том же сервере, используйте /path - это, безусловно, работает). Полные ссылки приносят избыточность и хрупкость. Избегайте этого.

0 голосов
/ 03 декабря 2014

Извлечение HTTP Strict Transport Security (HSTS) : https://www.owasp.org/index.php/HTTP_Strict_Transport_Security

По сути, вы можете заставить браузер (, если это IE <12 </a>) всегдаиспользуйте HTTPS, добавив этот заголовок в конфигурацию защищенного сайта:

Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"

Это также можно сочетать с перенаправлением 301 (ПОСТОЯННОЕ) для конфигурации незащищенного / HTTP-сайта, также обведено на указанном выше сайте.

Дополнительно / В качестве альтернативы, вы можете установить base href на своих страницах "website.com", добавив что-то подобное в верхнюю часть <head>tag:

<base href="https://website.com/">

Это установит все относительные URL-адреса на странице (включая ссылки, таблицы стилей, скрипты, изображения и т. д.), чтобы использовать корень сайта HTTPS в качестве своей базы.Однако, в зависимости от структуры и размера вашего сайта, вы захотите проверить для каждой страницы, что ее базовая ссылка и / или URL-адреса на странице содержат любую необходимую информацию о пути (то есть подкаталоги).В противном случае ссылка на http://website.com/some/directory/page.html, которая указывает на «otherpage.html», будет указывать на http://website.com/otherpage.html вместо http://website.com/some/directory/otherpage.html.В таких случаях вам понадобится либо базовый href «http://website.com/some/directory/"», либо относительный URL в ссылке должен указывать либо на «/some/directory/page.html», либо на «some / directory / page.html» (в этом случае косая черта не требуется).

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