SameSite警告Chrome 77


168

前回の更新以降、SameSite属性に関連するCookieでエラーが発生しています。

Cookieはサードパーティの開発者からのものです(Fontawesome、jQuery、Google Analytics、Google reCaptcha、Google Fontsなど)。

Chromeコンソールのエラーはこんな感じです。

A cookie associated with a cross-site resource at <URL> was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at <URL> and <URL>.
(index):1 A cookie associated with a cross-site resource at http://jquery.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://fontawesome.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at https://google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at https://www.google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://www.google.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.
(index):1 A cookie associated with a cross-site resource at http://gstatic.com/ was set without the `SameSite` attribute. A future release of Chrome will only deliver cookies with cross-site requests if they are set with `SameSite=None` and `Secure`. You can review cookies in developer tools under Application>Storage>Cookies and see more details at https://www.chromestatus.com/feature/5088147346030592 and https://www.chromestatus.com/feature/5633521622188032.

ローカルマシンまたはサーバーで実行する必要があることはありますか?それとも、ライブラリの将来のリリースで実装する必要がある機能の一部ですか?


9
コードとは関係ありません。Webサーバーがサポートする必要があるものです。
ダニエルA.ホワイト

同じ問題がありますが、これはサードパーティのWebサイトをコードで使用できないことを意味しますか?
Love2Code

1
ライブラリは問題なく使用できます。これは、@ DanielA.Whiteが前述したように、サーバーに実装するまでコンソールがスローする警告です。
peiblox

9
そして、サードパーティがその日付までにCookieを修正しなかった場合、正確にはどうなりますかA future release of Chrome will only deliver ... -サイトは壊れますか?その将来の日付は2020年4月2日であるように見えます-それほど遠くない
JK。

1
@ DanielA.Whiteで述べたように、これはサードパーティのコードで修正する必要があります。詳細については、この回答を参照してください 。
Hooman Bahreini

回答:


142

このコンソールの警告は、エラーや実際の問題ではありません。Chromeは、この新しい標準について広く知らせて、開発者の採用を増やしています。

それはあなたのコードとは何の関係もありません。それは彼らのウェブサーバーがサポートしなければならないものです。

修正のリリース日は2020年2月4日です:https : //www.chromium.org/updates/same-site

2月、2020:施行はクローム80の安定のためにロールアウト:バイ・デフォルトSameSite-とSameSiteは=なし-必要としないセキュアな行動は、の週の開始初期の限られた集団についてクローム80安定にロールアウトを開始します2020年2月17日を除きます、月曜日の米国大統領の祝日。徐々に拡大するロールアウトを通じて、この最初の限られたフェーズからの生態系への影響を注意深く監視および評価します。

Chromeの完全なリリーススケジュールについては、こちらをご覧ください

応答ヘッダーを追加することで同じ問題を解決しました

response.setHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");

SameSiteブラウザがクロスサイトリクエストとともにCookieを送信しないようにします。主な目標は、クロスオリジンの情報漏えいのリスクを軽減することです。また、クロスサイトリクエストフォージェリ攻撃に対する保護も提供します。フラグの可能な値はLaxまたはStrictです。

ここで説明されている SameSite Cookie

オプションを適用する前にこれを参照しください。

これがお役に立てば幸いです。


39
Cookieを設定するサードパーティのスクリプト(Google AnalyticsやGoogleタグマネージャーなど)を取り込むときに、これがどのように処理されるかについて調査しましたか?
ブラス

26
応答ヘッダーはどこに追加すればよいですか?ありがとう。
Kris Wen、

2
.NETを使用している場合は、web.configを追加するか、IISでURL書き換えルールを追加すると、この問題に対処できます。クレジットは、stackoverflow.com
questions / 38954821 /…の

3
JavaScriptを使用しないソリューションはありますか?
posfan12

11
友好的な警告は本当に私のような多くの開発者のOCDを引き起こしていると言わざるを得ません。汚いコンソールでの私の欲求不満は、YouTube、Googleプロパティ、違反者がGoogle Chromeでコンソールエラーを生成するのを見たときにかなり発生します。これは私が話した方法です。
Marc

22

localhostでテストしていて、応答ヘッダーを制御できない場合は、クロムフラグを使用して無効にすることができます。

URLにアクセスして無効にします:chrome:// flags /#same-site-by-default-cookies SameSiteのデフォルトのCookieスクリーンショット

Chrome Canaryが約V 82.0.4078.2からこのルールを適用し始めたばかりで、これらのCookieを設定していないため、無効にする必要があります。

注:このフラグは、開発に使用するChrome Canaryでのみオンにします。グーグルがそれを導入しているのと同じ理由で、毎日のChromeブラウジングに対してフラグをオンにしないことが最善です。


1
私が追加したので、このフラグを無効にし、カナリアは私のために動作しませんでしたリニューアル-SameSite私もこの迷惑なsourcemapの問題=>削除するために使用される主な「フィルタ」ボックスにsuperuser.com/questions/1523427/...
Avolition

4

Rahul Mahadikの答えを詳しく説明すると、これはMVC5 C#.NETで機能します。

AllowSameSiteAttribute.cs

public class AllowSameSiteAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var response = filterContext.RequestContext.HttpContext.Response;

        if(response != null)
        {
            response.AddHeader("Set-Cookie", "HttpOnly;Secure;SameSite=Strict");
            //Add more headers...
        }

        base.OnActionExecuting(filterContext);
    }
}

HomeController.cs

    [AllowSameSite] //For the whole controller
    public class UserController : Controller
    {
    }

または

    public class UserController : Controller
    {
        [AllowSameSite] //For the method
        public ActionResult Index()
        {
            return View();
        }
    }

私のコードを見てください。これは、クロムによるCORSポリシーにも関連しています。stackoverflow.com/questions/60556740/...
アブヘイサルヴィ

4

スクリプトタグにcrossoriginを追加することで修正されました。

送信元:https : //code.jquery.com/

<script
  src="https://code.jquery.com/jquery-3.4.1.min.js"
  integrity="sha256-CSXorXvZcTkaix6Yvo6HppcZGetbYMGWSFlBw8HfCJo="
  crossorigin="anonymous"></script>

整合性とcrossorigin属性は、サブリソース整合性(SRI)チェックに使用されます。これにより、ブラウザはサードパーティのサーバーでホストされているリソースが改ざんされていないことを確認できます。ライブラリがサードパーティのソースからロードされる場合は常に、SRIの使用がベストプラクティスとして推奨されます。srihash.orgで詳細を読む


srihash.orgによると、残念ながらこのドメインはわかりません。
ヴラド

スクリプトタグはどこにありますか?それはweb.configにありますか?
CarlD

1
エラーメッセージの@CarlDは、エラーの原因となっているスクリプトを見つけ、WebページのHTMLソースを表示します
John Magnolia

@JohnMagnolia私がやっただけで何も起こらなかった。
CarlD
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.