Chromeはすべてのリクエストに奇妙なHTTPS:1ヘッダーを追加します


19

HTTPSに関連するWebサイトで多くの奇妙なエラーが発生しています。これらのサイトはFFとIEでうまく機能しますが、Chromeでの読み込みに失敗します。セキュリティで保護されていないURL(http)をリクエストしているが、Google ChromeはHTTPS:1リクエストに追加のヘッダーを追加しているようです。

これにより、サーバーにSSLがないため、一部のサーバー、おそらくオフロードSSLを使用して共有ホスティングを提供するサーバーがエラーで応答します。

セキュリティで保護されたページ(HTTPS)にリダイレクトされず、ソースのすべての内部URLがhttpsに編集されています。

フィドラーとの接続を確認しました。この解析は私のコンピューターでは行われておらず、唯一の違いはこのHTTPS:1ヘッダーです。

$_SERVER変数を印刷する簡単なPHPページを作成しました。Chromeでアクセスすると、次のように表示されます[HTTP_HTTPS] => 1。FireFoxでは表示されません。

すべてのデータを消去し、GoogleアカウントからChromeのペアを解除し、Chromeを最初から削除してインストールしようとしました。

誰もこれについて考えていますか?私を夢中にさせています。


クロームカナリアでも同じ問題が発生しましたが、http-> httpsリダイレクトでだまされた特定のサイトでのみ発生しました。301リダイレクトキャッシュと関係があると思います。ブラウザのキャッシュが完全にクリアされた後、Chromeはhttpsにリダイレクトしませんでした。ただし、httpsヘッダーの問題は解決しません。特定のサイトにカナリアを使用しないことで、それを「解決」しました。今日、同じ問題が再びカナリアではなくクロム安定版で始まりました。カナリアのキャッシュが期限切れだと思います。しばらくテストしていません。私には完全にランダムに見えます。返事をくれないでごめんなさい。しかし、私以来
アゼルエル

はい、私も昨日からこれを見ています。私も狂っています。
カービー

Chromeは、セキュリティに関して非常に積極的です。Googleはおそらくビジネス上の理由でこれを行っています。政府関係者に対してユーザーデータを保護できない場合、ユーザーはすぐにGoogleに対する信頼を失います。そのため、広告ベースのビジネスモデルはユーザーの行動追跡に完全に依存しているという事実にもかかわらず、Googleはインターネットプライバシーのリーダーとしての地位を確立することを最優先事項と考えています。ユーザーは、Googleが個人データの安全な管理者であり、不正な第三者にデータを漏らさないように信頼しているため、それ以上のことをする余裕はありません。
bwDraco-モニカーの復活

回答:


15

ほとんどの場合、問題が発生しているサイトは、HTTPS: 1リクエストヘッダーを誤って解釈するサーバーコードを実行しています。たとえば、約900,000サイトで実行されているWordpress WooCommerceプラグインには、HTTPS: 1ヘッダーを誤って処理するバグのあるコードがあります。最新のパッチドキュメントはこちらをご覧くださいhttps : //woocommerce.wordpress.com/2015/07/07/woocommerce-2-3-13-security-and-maintenance-release/

StackOverflowにも同様の投稿がありますhttps : //stackoverflow.com/questions/31565155/wordpress-woocommerce-forces-https-when-it-shouldnt/31570584#31570584

詳細については、ChromeがWorld Wide Web Consortium(W3C)のUpgrade Insecure Requests仕様を実装しています。その仕様のセクション3.2.1は、Upgrade-Insecure-Requests HTTP要求ヘッダーフィールドであり、

3.2.1。Upgrade-Insecure-Requests HTTP要求ヘッダーフィールド

Upgrade-Insecure-Requests HTTP要求ヘッダーフィールドは、暗号化および認証された応答に対するクライアントの設定を表す信号をサーバーに送信し、その設定を可能な限りシームレスにするためにupgrade-insecure-requestsディレクティブを正常に処理できることを示します提供する。

この設定は、次のANBFで表されます。

"Upgrade-Insecure-Requests:" * WSP "1" * WSP

WordpressでWooCommerceプラグインを実行しているサイトのようにhttps:\\HTTPS: 1ヘッダーが非セキュア(http)リクエストで設定されている場合、応答のすべてのURLをリンクとして誤って書き換えています。

そのサイトのエンドユーザーとしての唯一の簡単な回避策は、それらのWebサイトが修復されるまでChrome以外のブラウザーを使用することです


詳細な返信のおかげで、このコードが実装されていることがわかりましたが、この問題は私のコンピューターに固有であるため(オフィス内の別のコンピューターで確認しました)、それをオフにする方法があると思います。それは私のコンピュータに固有のもので、1ヘッダ:他のコンピュータは、HTTPSを送信しません
TwoDiv

1
お使いのコンピューターに固有のものではありません。私は、他のユーザーがまだ、Chromeの最新バージョンに更新していないことを推測している
星のカービィ

これはWooCommerceにとって大きな問題になる可能性があります。Wooで2つの個別の(httpsが有効になっていない)サイトを実行し、リリースした修正プログラムを適用したところですが、多くのショップオーナーがこのサイトについて不満を言っているのを想像できます!
リスバーナイト

WooCommerceの問題だけでなく、サーバーがヘッダーを読み取る方法だと思います。私の仕事では、オフロードSSLを使用し、HTTP-Protoパラメーターを使用して、リクエストがHTTPSで到着したかどうかをサーバーに通知します。サーバーは単純なHTTPリクエストを取得し、HTTPSであるかのように解析します。彼らはクラッシュします-私は、これは同じ問題であり、サーバー構成がHTTPSを許可しない場合、SSLを持っている、またはHTTPとHTTPSのために別のフォルダを使用しないことを前提と
TwoDiv

3
@lisburnite HTTPS経由で提供されていない商取引サイトを運営していますか?おそらく顧客に何らかの保護を与え、それを修正する必要があります
アシュリー


3

それは単なるwocommerceだけではなく、悪意のあるワードプレスのすべてが悪いcss、画像などを引き起こしています。

これをwp-config.phpの上部近くに追加して削除します

if($_SERVER['HTTP_HTTPS'] && !$_SERVER['HTTPS'])
{    unset($_SERVER['HTTP_HTTPS']);
}

@その後、管理パネルは機能しません。
Dhruv Kapatel

問題なく、昨日壊した多くのウェブサイト上でそれを使用して
任意の

1

これを試して、HTTP_HTTPSヘッダーを設定解除してください。

if(!isset($_SERVER['HTTPS']) || $_SERVER['HTTPS'] != 'on') {
    unset($_SERVER['HTTP_HTTPS']);
}
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.