簡単な紹介
今日、誰もが保護されていないHTTPセッションをハイジャックするタスクがいかに簡単かを理解しています。
また、証明書の購入価格だけが広く採用されるのを止めることができます。www.startssl.comは無料の証明書を配布することでこの問題を解決します(クラス1)。 確認済み(クラス2)には1ペニーかかります。
リダイレクト
証明書を購入してソフトウェアを構成すると、ユーザーがhttp:// mySite.ruからhttps:// mySite.ruにリダイレクトする必要があることが明らかになります。
このようなリダイレクトは小さなセキュリティホールを作成します;リダイレクトの前に攻撃が行われる可能性があります。 したがって、「セキュア」属性を使用する必要があります。これは、https経由でのみCookieを送信できることをブラウザに伝え、httpsからのリンクを指定し、次の手法を使用してリダイレクトを回避することをお勧めします。
HTTP / 1.1仕様では、http応答コード301(「永久に移動」)および302(「検出」/「一時的に移動」)をブラウザーでキャッシュできるとされています。
したがって、満期がより長いExpiresまたはCache-Control max-ageヘッダーを使用すると、リダイレクトがより安全になります。 明らかな問題は、一部のブラウザーの開発者からの仕様に対する敬意の欠如です。
2番目のオプションは、Strict-Transport-Securityヘッダーを使用することです。
このヘッダーを使用して、Webサイトにhttps経由でのみアクセスできることをブラウザーに通知します。 httpリクエストは、ブラウザによってクライアント側で書き換えられます。
Strict-Transport-Security: max-age=31556926;
ドラフト標準をサポートするブラウザに、サイトがhttpsでのみ1年間利用可能であることを通知します。 (FirefoxとChromeはすでにサポートしています。Operaは、ステータスが合意または確立に移行することを期待しています)。
コンテンツを混在させないでください
httpサイトからコンテンツをダウンロードしていないことを確認する必要があります。 多くの場合、CDNからライブラリをダウンロードしたり、Googleアナリティクスをhttpsモードに切り替えたりしないことを忘れます。
追加情報
startssl habrahabr.ru/post/127643での証明書の取得に関する詳細な記事
en.wikipedia.org/wiki/HTTP_Strict_Transport_Security
en.wikipedia.org/wiki/List_of_HTTP_status_codes
en.wikipedia.org/wiki/HTTP_cookie#Secure_cookie
startssl cartenergy.ruを使用した大規模なプラットフォームの例(オンラインストアの作成)