2012-02-01 2 views
3

ユーザーが自分のWebサイトにログインすると、https:// URLにリダイレクトされます。 (https://www.gruppenunterkuenfte.de/anbieter-bereich.html?next=/#einloggenユーザがシステム日付を変更したときに無効なSSL証明書が原因でJSが機能しない

ユーザーが(過去1年)彼のマシン上で間違った日付を設定している場合、それはこれで1月3日、2012年

の開始と発行されたため、証明書は、無効と見なされます無効な証明書SafariとChromeは、外部ソースから読み込まれたスクリプトをブロックします。 (例:https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js)、ログインが機能しなくなります。

私の質問は、この問題の良い解決策は何でしょうか。

  1. サーバーの日付をJSコードで送信し、JSとJSをユーザーの現在の時刻と比較します。 24時間を超えて異なる場合は、日付を正しく設定する警告を表示します。しかし、それはユーザーにとって迷惑になる可能性があります...そして、おそらく彼らはそれを変更する特権を持っていない可能性があります。
  2. 外部ドメインからJSファイルをロードしないでください。それでも証明書は無効ですが、ページは機能します。しかしパフォーマンス上の理由からajax.googleapis.comからスクリプトを読み込むことをお勧めします。
  3. 証明書を取得することは可能ですか?これは、ユーザーが設定した日付で有効ですか?
  4. 他の解決策はありませんか?
+0

これは本当に問題ですか?つまり、システムの日付を間違って設定したユーザーは何人ですか?解決策を見つけることは投資の価値がないかもしれません。 – dirkbonhomme

+0

さて、私の上司には問題があります:-)私は、日付が現在のものであれば、一部のアプリケーションのライセンスの有効期限が切れていると思います。 – JochenJung

+0

であるので、解1は除外されます。あなたは約2で、GoogleのCDNから読み込みを続けます。 3については、開始日や現在の日付の前に証明書を取得できないと思わないでください。あなたの上司にライセンスを更新するように教えてください。) –

答えて

2

私があなたが本当にしたいと思うなら#1(HTTPS以前)をすることができると思いますが、dirkbonhommeが示すように、おそらくそれは努力する価値がありません。

残りは....しないでください!

#2の場合、ページが無効な証明書で読み込まれると、すべての賭けはセキュリティのためにオフになります。なぜ暗号化に迷惑をかけるのですか?さらに、セキュリティ警告をクリックするだけでユーザーを訓練しているため、全体のインターネットセキュリティが低下します。人々はすでに方法あまりにもポップアップウィンドウが何を盲目的に受け入れることを喜んで受け入れています。この動作により、セキュリティ上の脅威やマルウェアの配布などが容易になります。

#3の場合、私の知る限りではありません。そしてあなたはこれを望んでいないでしょう。期限切れの証明書の概念は、証明書署名システムの完全性にとって重要です。ほとんどの人はCRLを更新しないので、ほとんどのブラウザは自動的にこれを行うようには見えません。証明書の有効期限を確認するのは、盗難または他の方法で侵害された可能性のある証明書に対する最終防衛線です。そのような証明書がどれくらい長く野生で活動し続けることができるかに関する上限を設定します。

#4の場合...正しい解決策は、ユーザーが壊れたマシンを修正することです。非常に多くのスキームが正確な時間に依存しており、ユーザーは時間が正しく更新されないと物事が壊れることを知るべきです。これがあなたのユーザーのための定期的な問題であれば、NTPという小さなものにそれらを紹介してください。

関連する問題