Недавно мой друг спросил меня, могу ли я сделать некоторые базовые проверки безопасности на его веб-сайте. URL-адрес примерно такой же, как на https://www.example.com однако после удаления "s" в конце "https" сайт просто перенаправляет меня на www.example.com . Прежде чем я предоставлю ему ложную информацию, я предполагаю, что это огромная уязвимость, поскольку он имеет дело с информацией о кредитных картах своих клиентов. Я преувеличиваю это? Насколько велика проблема?

В идеале сайт должен отправить ошибку или перенаправить на HTTPS-версию сайта. Правильно ли я со своими мыслями? Спасибо

2 ответа2

1

после удаления "s" в конце "https" сайт просто перенаправляет меня на «www.example.com»

Удаление "s" вручную означает, что вы сами явно посещаете http://www.example.com (т.е. не-SSL-версию).

Теперь, что происходит, большинство браузеров скрывают часть http:// в адресной строке для удобства чтения (http:// - просто беспорядок для большинства обычных пользователей). Так что он просто не отображает http:// перед URL, но на самом деле он все еще там.

Так что это на самом деле не перенаправляет вас никуда. На самом деле нет такой вещи, как перенаправление на www.example.com без префикса протокола, такого как http:// . Если вы увидите www.example.com в адресной строке и выберите все + копировать + вставить, вы увидите, что префикс http:// все еще там. И если вы www.example.com вручную без какого-либо префикса протокола, ваш браузер автоматически примет неявный префикс http:// .

Что касается уязвимости: любой сайт, имеющий дело с конфиденциальной информацией (или, может быть, просто любой сайт в целом, в зависимости от того, насколько вы параноик) должен применять SSL, поэтому даже не поддерживает и не разрешает посещение через http:// , только https://

С момента появления Let's Encrypt каждый может бесплатно использовать SSL на своем веб-сайте. Так что, в принципе, нет причин больше не использовать SSL.

Лично я использую Let's Encrypt везде, на каждом веб-сайте, который я размещаю или управляю. И я удостоверяюсь, что любые посещения без SSL (т.е. всякий раз, когда кто-то посещает страницу с http:// вместо https://) автоматически перенаправляются на соответствующий https:// URL.

Есть разные способы сделать это, но, вероятно, самый простой способ - поместить файл с именем .htaccess в ваш public_html/ dir с таким содержимым:

RewriteEngine On
RewriteCond %{HTTPS} !=on [OR]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Что он делает, так это направляет любой запрос, который не использует SSL, на тот же URL с SSL.

0

Да, любой веб-сайт, обрабатывающий конфиденциальную информацию, должен работать по протоколу HTTPS. Работать по HTTP рискованно. Итак, вы правы, он должен автоматически перенаправить на HTTPS.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .