2009-12-09 56 views
4

我使用Django 1.1.1和ssl重定向中間件。Django HTTPS和HTTP會話

通過HTTPS創建的會話數據(身份驗證等)在網站的HTTP部分中不可用。

什麼是最好的方式使它可用,而無需使整個網站的HTTPS?

回答

4

這是設計,而不是你可以隨時改變的東西。

當通過HTTP查看同一站點時,瀏覽器不會發送通過HTTPS發送的Cookie /身份驗證。您的最佳解決方案可能是將用戶從HTTPS頁面重定向到設置身份驗證cookie的HTTP頁面。

請記住,通過電報以純文本形式發送的未經身份驗證的Cookie會打開您的用戶進行欺騙和重放攻擊。這對您的應用程序可能無關緊要。

0

一直有類似的問題。在#django IRC用戶IIIE向我指出這個設置:

這個選項設置爲".domain.com"讓我分享域名主機HTTP/HTTPS會話之間以及跨和/子域。

我可以想象一種情況,一個人不想這兩個,但它現在解決了我的問題。