5

この回答で提案されているように、次のコードを使用してHTTPS経由でロードされたページにDisqusをロードしています。

  <div id="disqus_thread"></div>
  <script type="text/javascript">
      var disqus_shortname = 'our-shortname';
      (function() {
          var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
          dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js?https';
          (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
      })();
  </script>

embed.jsのリクエストをhttpsではなくに変更し、リクエストの最後にもhttp追加?httpsしたことに注意してください。これは、HTTPSを強制することになっていると思います。

最初のリクエストは計画どおりHTTPS経由で送信されますが、Chromeが嫌うHTTP経由の2番目のリクエストを作成します(赤い十字の南京錠のアイコンが表示されます)。

Chromeコンソールから:

The page at https://our-website.com/blog-post-name ran insecure content from http://juggler.services.disqus.com/event.js?thread=635675380&forum=our-shortname...[long query string]

これは、Disqusがすべてのリクエストでsslを使用するようにするための正しい方法ですか、それとも手順を逃したことがありますか?

ありがとう。

4

4 に答える 4

6

これはDisqus自体の問題のようです。いくつかのDrupalサイトで同じアプローチでSSLを介してDisqusが正常に動作していましたが、最近、DisqusがIEとChromeの両方でSSL警告を発生させ始めました。

少し掘り下げてみたところ、embed.jsで定義されthread.jsで呼び出されたDISQUS.useSSL関数がいくつかのURL(具体的には["disqus_url"、 "realtime_url"、 "uploads_url"])を更新していることがわかりました。設定でhttpsが見つかった場合は、URLのhttpをhttpsに置き換えて、json設定オブジェクトをDisqusします。juggler_urlは同じ扱いを受けないため、SSL経由でロードするように更新されていません。ジャグラーの目的はわかりませんが、そのURL(http://juggler.services.disqus.com/)はSSL経由で読み込まれないようですので、URLをhttpsに変更してもそれでも機能しません。

以前にこれを機能させていたので、おそらくDisqusが最近変更を加えたのでしょうか。これは私たちの側では構成の問題ではないように思われるので、私たちはこれを彼らと一緒に取り上げています...

アップデート:

Apaprently Disqusは、SSLをサポートしない新しいサービスを開始しました。これが、安全でない状態で読み込まれる余分なスクリプトを生成しているため、セキュリティ警告がトリガーされます。Disqusは、特定のアカウントに対してこの新しいサービス(名前を教えてくれませんでした)を無効にし、SSLが再び期待どおりに機能するようになりました。したがって、解決策は、アカウントをSSLに準拠させるように依頼することであり、それで問題が解決するはずです。

于 2012-04-04T16:11:29.847 に答える
2

ソリューションを提供するこの記事を見つけました:http: //help.disqus.com/customer/portal/articles/542119-can-disqus-be-loaded-via-https-

基本的に、Disquss 2012では(まだ)不可能ですが、スイッチをオフにして埋め込みsrcを変更し、https://を使用して?httpsパラメーターを追加します。

dsq.src = 'https://' + disqus_shortname + '.disqus.com/embed.js?https';
于 2012-08-21T08:44:40.373 に答える
1

私は過去数か月間この問題を何度も繰り返しており、Disqusを完全に無効にすることを余儀なくされています。最初にDisqusに連絡して、SSlに準拠していない機能を無効にするスイッチを作成できるかどうかを確認しました。これはしばらくの間機能しましたが、混合コンテンツの問題が再発し続けました。

Disqusがcount.jsjavascriptのhttpsバージョンを強制しているにもかかわらず、count.jsは何らかの理由でsecurecdn.disqus.comではなくmediacdn.disqus.comにリダイレクトしているようです。プラグインエディタで手動で?httpsを追加して、securecdn.disqus.comへのリダイレクトを強制すると、CDNへの最初の呼び出しでは問題は解消されますが、その後のCDNへの呼び出しではクエリ文字列?httpsがカウントに追加されます。 js呼び出し、リダイレクトはmediacdn.disqus.comに戻るだけです。私はこれを何度も試しました。

この問題の厄介な点は、混合コンテンツ通知を作成している私のサイトの問題のSSLページにコメントセクションさえないことです。そのため、Disqusはそのjavascriptをページに不必要にロードしています。

私はDisqusが好きですが、ユーザーがjavascriptを選択的に無効にすることを許可するか、すべての場合に機能する安全なcdnバージョンを実装することによって、この問題を修正しないとは信じられません。私は彼らがこれを理解することを望んでいます。

また、Disqus 2012はHTTPSをサポートしていないとのことです(将来的にはサポートされる予定ですが)。

于 2012-07-14T02:01:55.857 に答える
0

Apaprently Disqusは、SSLをサポートしない新しいサービスを開始しました。これが、安全でない状態で読み込まれる余分なスクリプトを生成しているため、セキュリティ警告がトリガーされます。

于 2019-01-13T20:38:36.627 に答える