Добавить SSL * только * в определенную папку - программирование

Добавить SSL * только * в определенную папку

Я хочу перенаправить пользователей на защищенный SSL-сервер, когда они обращаются к разделу "Учетная запись" сайта, который будет содержать формы для профилей пользователей, настройки и т.д. Однако я не хочу, чтобы пользователи имели доступ к остальная часть сайта на сервере SSL. Из-за того, как я закодировал свои шаблоны, в качестве примера мои пути заданы как <a href="/about">. Если они находятся в разделе "Аккаунт" и щелкните ссылку в разделе "О себе", они все равно будут находиться в безопасном https: connection. Очевидно, что я могу просто скопировать ссылки для ссылки на http://сервер, но я ищу альтернативы.

До сих пор у меня в моем .htaccess есть следующее: он работает, но мне интересно, нужен ли этот ресурс больше, чем нужно? Лучше ли жестко привязывать ссылки к любому из других разделов "без учета" или делает это через .htaccess, чтобы сделать это?

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond $1 ^(account) [NC]
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} on
RewriteCond $1 ^(about|terms|products) [NC]
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Кроме того, если я хочу предотвратить доступ к домашней странице через https://как я могу добавить это в мой .htaccess файл?

4b9b3361

Ответ 1

На самом деле я предлагаю избегать использования правил перезаписи для этого.

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

Хотя это удобно, если вы полагаетесь на это вместо того, чтобы убедиться, что ссылки на вашем сайте, предназначенные для разделов https, действительно используют https, это затруднит обнаружение, когда эта ссылка неверно перенаправляясь к варианту http.

Типичные последствия:

  • предупреждения о смешанном содержании, если вы вставляете что-то с помощью http, связанного позже, автоматически и прозрачно превращается в https, что плохо; и
  • возможная утечка данных.

Вместо этого я бы предположил, что вы не используете автоматическое переписывание/переадресацию и убедитесь, что разделы, предназначенные для доступа только через HTTPS, вообще не доступны для простого варианта HTTP (т.е. http://yourhost/account должен возвращать 404s ): это, по крайней мере, заставит вас заметить, когда вы неправильно связали и поможете вам определить, где у вас может быть проблема с безопасностью. В конечном счете, хотя они имеют одинаковое имя хоста, сайт http и https могут иметь два разных пространства URL: это не плохо в этом контексте.

Единственный случай, когда я вижу, где переписывать от http до https, действительно полезен, когда вы хотите, чтобы точка входа пользователя на ваш сайт перенаправлялась.

Переписывает от https до http, конечно, не представляет эту проблему.