Инструменты пользователя

Инструменты сайта


Боковая панель

Этот перевод старее, чем оригинальная страница, и может быть неактуальным. Смотрите, что было изменено.
Перевод этой страницы?:

О «Докувики»

Дополнительные возможности

Corporate Use

Наше сообщество


Следуйте за нами на Фейсбуке, в Твиттере и других социальных сетях.

Конфиденциальность (англ.)

ru:tips:httpslogin

Принудительное использование HTTPS при авторизации

Используя mod_rewrite, можно принудительно заставить пользователей авторизоваться через HTTPS, что предотвратит передачу паролей в чистом виде через интернет.

Возможно вы сперва захотите прочесть общую информацию об URL-преобразовании.

Предполагается, что вы уже установили поддержку HTTPS для своей вики, сделав её доступной через HTTP и HTTPS на том же самом адресе. По причинам производительности только вход в систему и обновление профиля должны быть вызваны по HTTPS, в то время как все «нормальные» действия вики будут продолжать работать по HTTP.

Так как у вас должны быть настроены куки через HTTPS, чтобы работать по HTTP также, вы должны сначала отключить опцию «securecookie», а затем установить перенаправление в вашем файле .htaccess:

# Переключитесь, чтобы защититься при логине, в профиле и в администраторских действиях
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{QUERY_STRING} do=(log|profile|admin)
RewriteRule ^(.*) https://%{HTTP_HOST}/$1 [R,QSA,L]

# Вернуться к незащищенному выставленному действию
RewriteCond %{HTTPS} on
RewriteCond %{QUERY_STRING} (do=show|^$)
RewriteCond %{REQUEST_METHOD} GET
RewriteRule ^(.*) http://%{HTTP_HOST}/$1 [R,QSA,L]

Возможно вам нужно будет изменить ${HTTP_HOST} на ${ИМЯ_СЕРВЕРА}, где server name соответствует имени хоста в вашем сертификате SSL.

Примечание: вышеупомянутые переключатели назад к не-SSL на выставочном действии только. Это означает, что американские горы не могли бы сразу произойти после входа в систему, но гарантируют, что не будет никакого «смешанного контента» предупреждения во время работы SSL.

  • Пожалуйста, отметьте: вы должны отключить «securecookie» в /conf/dokuwiki.php для вышеупомянутого кода, чтобы работало. Иначе ваши входы в систему не будут успешно регистрироваться. Это потому, что с включённым «securecookie» куки сеанса не могут быть отправлены через HTTPS и сеанс будет утерян.
ru/tips/httpslogin.txt · Последние изменения: 2011-03-09 19:16 — Aleksandr