seoraporu.co

HTTPS/SSL и безопасность сайта

Что такое HTTPS/SSL?

HTTPS (HTTP Secure) — это протокол, который шифрует обмен данными между веб-сайтом и браузером посетителя. Это шифрование обеспечивается с помощью SSL/TLS-сертификата, которым обладает сайт; сертификат действует как цифровой документ, подтверждающий браузеру подлинность сайта. Значок замка в адресной строке браузера указывает на то, что соединение зашифровано и сертификат действителен.

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

SSL-сертификаты обычно действительны в течение определённого срока (например, одного года) и по истечении срока действия их необходимо продлевать; в настоящее время многие хостинг-провайдеры автоматизировали этот процесс, обеспечивая автоматическое продление сертификата, что снижает необходимость ручного контроля.

Почему это важно?

HTTPS обеспечивает защиту пользовательских данных (данные, введенные в формы, данные сеанса, платежные данные) от атак типа «человек посередине» (man-in-the-middle). Google рассматривает использование HTTPS как незначительный фактор ранжирования, а браузеры отображают предупреждение «Небезопасно» для сайтов, использующих HTTP; это напрямую влияет на доверие пользователей.

Небезопасный сайт снижает желание посетителей оставаться на сайте; в частности, пользователи, заполняющие формы или осуществляющие оплату, могут покинуть сайт, не завершив операцию, если увидят предупреждение «Небезопасно». Это является проблемой доверия, которая напрямую влияет на коэффициент конверсии.

Кроме того, большинство современных функций браузеров (например, службы определения местоположения, уведомления, некоторые платежные API) работают только через HTTPS; сайт, остающийся на HTTP, не может воспользоваться этими функциями и с технической точки зрения становится всё более ограниченным.

Как это исправить?

Пример

# пример .htaccess
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Плохой пример: после перехода на HTTPS забыть обновить старые <img src="http://example.com/logo.png"> абсолютные HTTP-ссылки на странице; это приводит к появлению предупреждения о смешанном контенте в браузере, даже если страница в целом выглядит безопасной.

Распространённые ошибки