заставить SSL для зарегистрированных пользователей - PullRequest
1 голос
/ 11 июня 2011

У меня есть веб-приложение, для которого мы должны принудительно установить SSL, но только когда пользователь вошел в систему. К сожалению, страница входа в систему совпадает с URL-адресом веб-приложения, когда пользователь вошел в систему.

У меня было следующее переписывание для пропуска SSL, когда URL был просто / или / подписан, но это не удалось, потому что: а) когда пользователь вошел в систему, он все еще может иметь / и не иметь никаких принудительных ssl и b) когда пользователь посещает регистрацию с помощью ключа приглашения, такого как регистрация? Invite = 123abc, шаблон не выполняется.

#RewriteCond %{HTTP_HOST} ^mysite\.com$ [NC]
#RewriteCond %{SERVER_PORT} !^443
#RewriteCond %{REQUEST_URI} !^(/|signup)$
#RewriteRule (.*) https://mysite.com/$1 [R=301,L]

Такое ощущение, что принудительное использование SSL в apache происходит быстрее, чем в моем PHP-приложении, но я не уверен, что это лучший способ решить эту проблему.

Спасибо!

1 Ответ

0 голосов
/ 11 июня 2011

В зависимости от языка, который вы используете на стороне сервера, это может быть проще, чем использование правила перезаписи, поскольку ваша программа на стороне сервера будет знать, что пользователь вошел в систему. Некоторые псевдокоды:

Если пользователь вошел в систему и URL запроса начинает http, тогда перенаправьте на https.

...