Cookieの能力は長年にわたって成長し、進化してきましたが、いくつかのレガシー問題を残しています。これを処理するために、ブラウザ(Safari、Chrome、Firefox、Edge を含む)は、SameSite属性とSecure属性に関する動作を、Cookie のsecure-by-defaultモデルのために変更しています。
4D ウェブ開発者として、アプリケーションがクロスサイト・リクエスト・フォージェリから保護されることを望むなら、4Dウェブセッション・セッ ション・クッキーについて懸念されるかもしれません。
ウェブセッション・クッキーがウェブ上で無意味に流通したり、デフォルト値が適用されているためにブラウザに誤解されたりするのを防ぐために、それがそうであるかどうかを尋ねるべきです。
- サードパーティークッキー:クッキーを発見したページのドメイン名とは異なるドメイン名に関連付けられている。サードパーティークッキーは、ページをホストしているドメイン以外のドメインから発信されたページオブジェクト(広告など)によって配置されます。
または
- ファーストパーティークッキー:ページのドメインに関連づけられる。
ユースケースに応じて、ウェブ・セッション・クッキーのSameSite 属性に適切な値を選択する必要があります。
セキュリティを強化するために、接続がセキュア(HTTPS)であるときにウェブ・セッション・クッキーにSecure属性を設定し、クッキーが安全に送信できることをブラウザに示す必要があります。
ウェブ上のプライバシーとセキュリティを向上させるために、4Dがどのようにあなたを支援しているか、読み続けてください。
Web サーバーの動作を選択できるようにするために、Web サーバーオブジェクトに新しいsessionCookieSameSite プロパティを追加して拡張しました。
Samesite属性の値を設定する
デフォルトでは、ウェブサーバはセッションクッキーのSameSite属性を“Strict“に設定します。最も安全なので、この値を選択しました。
別の値が必要な場合は、WEBサーバーコマンドを使用してください。
var $webServer; : := () := . := $settings Object
$settingsNew object
$webServerWEB Server
$settingssessionCookieSameSiteWeb SameSite Lax
.$webServer
stop()
$webServer .
start( )$settings
SameSite属性の各感度値は、特定の定数で4D言語で提供されます。
- Web SameSite Lax = “Lax”(ウェブ・セームサイト・ラックス)。
- Web SameSite Strict = “Strict”(厳密な)。
- Web SameSite None = “なし”
以下は、ブラウザで表示される概要です。
とsecure属性?
SameSite属性の値が “None” である場合、ブラウザによっては、送信するためにSecure属性を別の値に設定する必要があります(接続が HTTPS である場合のみ)。
良いニュースは、4Dウェブサーバーがこれを自動的に処理することです。
接続がHTTPSの場合、セッションクッキーは自動的にSecure属性が設定され、ブラウザはそれを送信するようになります。
以下は、HTTPS接続でブラウザに表示される内容の概要です。
それでは、Web アプリケーションを安全に動作させ、フォーラムで議論しましょう!