web-dev-qa-db-ja.com

SameSite警告Chrome 77

最後の更新以来、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.

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

133
peiblox

このコンソールの警告はエラーでも実際の問題でもありません。Chromeは開発者の採用を増やすためにこの新しい標準についてWordを広めているだけです。

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

2020年2月:Chrome 80の安定性:安定:SameSite-by-defaultおよびSameSite = None-requires -セキュアな動作は、Chrome 80に開始されます週の2020年2月17日から、最初の限られた人口に対して安定しました、月曜日の米国大統領の祝日を除きます。この最初の限定段階から徐々に増加する展開を通じて、生態系への影響を綿密に監視および評価します。

完全なChromeリリーススケジュールについては、 こちらを参照

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

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

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

SameSite Cookieの説明 ここ

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

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

103
Rahul Mahadik

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();
        }
    }
3
Joel Wiklund

この警告は場合によっては完全に間違っているであると思います。 Cordovaアプリを開発し、index.htmlを開いてブラウザーでローカルでテストすると、アプリがローカルの仮想ホストドメインから画像を要求するたびに、明らかな理由なしに警告がトリガーされます。

また、コンソールからのサブドメインの警告は、要求されたイメージからのサブドメインと一致しませんであり、コンソールで報告されたドメインからCookieなしが作成されます。私のサーバーから画像をリクエストすることは、クッキーの作成/送信/読み取りを伴わないという事実は言うまでもありません。

0
andreszs