web-dev-qa-db-ja.com

クライアント側でJavaScriptを使用して、ページが暗号化されているかどうかを検出するにはどうすればよいですか?

ユーザーが暗号化されたページを使用しているかどうかをクライアント側で検出することは可能ですか?

言い換えると、現在のページのURLがhttpとhttpsのどちらで始まっているのかを知りたいのです。

49
Simon

使用する window.location.protocolかどうかを確認しますhttps:

function isSecure()
{
   return window.location.protocol == 'https:';
}

または、ローカルスコープの場所がない場合は、「ウィンドウ」の指定を省略できます。

function isSecure()
{
   return location.protocol == 'https:';
}
76
tvanfosson

グーグルアナリティクスが私に教えたように:

if ("https:" == document.location.protocol) {
    /* secure */
} else {
    /* unsecure */
}
12
Rodrigo

最新のブラウザーの2番目の方法:

var secure = window.isSecureContext;

または単にisSecureContextを取得します。

if (isSecureContext) {
   ...
}

詳細: https://developer.mozilla.org/en-US/docs/Web/Security/Secure_Contexts#Feature_detection#Feature_detection

2
Chris Zalcman