какая польза от https? - PullRequest
       20

какая польза от https?

2 голосов
/ 19 августа 2009

Я новичок в технологии HTTPS :(. У меня есть некоторые сомнения относительно реализации HTTPS.

предположим, у меня есть регистрационная форма

http://www.sitename.com/register.php

если я хочу использовать это в HTTPS, это станет

https://www.sitename.com/register.php

Что это значит? Как реализовать HTTPS с нуля? как мне получить сертификат ??

Спасибо заранее !!

Ответы [ 6 ]

9 голосов
/ 19 августа 2009

HTTPS означает HTTP Secure. Это реализовано через обслуживание HTTP через безопасное соединение. Взгляните на HTTP Secure в Википедии для более подробного объяснения.

Настройка HTTPS - это не просто изменение URL-адреса. Вы должны будете добавить сертификат SSL на ваш сайт, чтобы сделать это. Эти сертификаты можно получить в центрах сертификации ( Список CA ) или использовать самозаверяющий сертификат.

Говоря о ваших сомнениях в реализации HTTPS. Это хорошо зарекомендовавший себя протокол, который прошел экспертами в области безопасности со степенью доктора наук по этому вопросу. Таким образом, вы можете доверять реализации HTTPS.

Flat Mountain имеет хорошую статью для настройки SSL-сертификатов на Apache *

* при условии, что вы запускаете свой php через сервер apache

6 голосов
/ 19 августа 2009

Другие дали вам хорошие ссылки на ресурсы о том, как именно работает HTTPS. Я рассмотрю две причины, по которым он используется:

1. Безопасность

При использовании HTTPS трафик между вашим браузером и веб-сервером шифруется. Это предотвращает любого, кто случайно получит доступ к любому из множества проводов, через которые будут проходить ваши данные, когда они пересекают Интернет, от просмотра того, что вы отправляете на сервер, или того, что сервер отправляет вам. Вот почему HTTPS используется для отправки паролей и других учетных данных. Это одна из причин, почему веб-сайты, занимающиеся банковскими и другими вопросами, требующими конфиденциальности, используют HTTPS. Вот почему вы, вероятно, захотите использовать HTTPS, если вы читаете веб-почту из общедоступного Wi-Fi-соединения.

2. Идентичность

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

Для этого сертификаты «подписываются» центром сертификации. Центры сертификации стремятся удостовериться, что лицо, которому они выдают сертификат, является тем, кем, по его утверждению, является То есть ЦС не будет выдавать сертификат «bankofamerica.com» кому-либо, кроме Банка Америки. Ваш браузер поставляется с предварительно установленным набором центров сертификации, подписи которых он доверяет. Если сертификат, выданный сервером, не подписан одним из этих доверенных центров сертификации, браузер предупредит вас.

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

3 голосов
/ 19 августа 2009

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

Таким образом, вам потребуется несколько вещей, чтобы ваша форма могла безопасно работать по HTTPS:

  1. Вам необходимо настроить веб-сервер так, чтобы он в первую очередь отвечал на запросы HTTPS. HTTPS-запросы обслуживаются через порт 443, поэтому они не смешиваются с обычными HTTP-запросами.
  2. Вам необходимо получить сертификат сервера в центре сертификации, который соответствует доменному имени ваших запросов HTTPS (в приведенном вами примере это будет "www.sitename.com")
  3. Наконец, вам нужно убедиться, что URL-адрес, на который ваша форма публикует собранные данные, также является URL-адресом HTTPS, поскольку в противном случае вы бы просто защитили содержимое исходной формы, а не данные, которые есть у пользователя представленный.

Для вашей страницы, register.php, не будет разницы между клиентами, использующими HTTPS или HTTP, ваша обработка будет такой же. Однако, если вы хотите заставить пользователей использовать HTTPS, вам необходимо сначала проверить, является ли запрос простым HTTP и перенаправляет ли он пользователя на ту же страницу с протоколом HTTPS. Таким образом, никто не может случайно использовать небезопасный адрес.

3 голосов
/ 19 августа 2009

Обслуживание по протоколу https означает, что вы обслуживаете зашифрованные данные, которые теоретически не могут быть прослушенными , поскольку они не передаются в виде простого текста. Подключение обычно осуществляется через порт 443, а не через типичный порт 80 для трафика HTTP.

Кроме того, SSL предоставляет сертификат, который аутентифицирует вас на сервере контента с третьей стороной, такой как VeriSign или другими.

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

2 голосов
/ 19 августа 2009

Если ваш сайт работает на Apache, вам нужно настроить ssl, а затем убедиться, что ваш vhost настроен на прослушивание 443. Тогда любая страница в vhost может быть вызвана с любым протоколом.

http://httpd.apache.org/docs/2.0/ssl/ssl_howto.html

http://en.wikipedia.org/wiki/HTTP_Secure

2 голосов
/ 19 августа 2009

гммы. гм. Вам нужно взглянуть на ssl и безопасный http . И возможно настройка ssl на apache .

По сути, это зашифрованное соединение http. Спросите себя, зачем вам зашифрованное соединение, и стоит ли оно того?

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