---
title: Laravel13のリクエスト強化対策 アップデート Sec-Fetch-Site の導入で何が変わるのか
tags: 
author: [_ma_me_](https://image.docswell.com/user/1313108)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/PEXQXV41JX.jpg?width=480
description: Laravel13のリクエスト強化対策 アップデート Sec-Fetch-Site の導入で何が変わるのか by _ma_me_
published: April 18, 26
canonical: https://image.docswell.com/s/1313108/ZR8Q33-2026-04-18-113610
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/PEXQXV41JX.jpg)

Laravel13のリクエスト強化対策
アップデート
Sec-Fetch-Site の導入で何が変わるのか
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/3EK9WQZMED.jpg)

今日の話
Laravel13のアップデートで Sec-Fetch-Site
検証が追加されたことによる影響調査
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/L73W1PD275.jpg)

自己紹介
発表者
ma@me
所属
業務
不具合分析
不具合対応
品質改善業務をメインに色々や
ってます
登壇予定
フロントエンド・PHPカンファ
レンス北海道2026
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/87DKXLP6JG.jpg)

今回の公式が掲げるアップデートのテーマ
最小限の破壊的変更
Minimal Breaking Changes
Much of our focus during this release cycle has been minimizing breaking
changes. Instead, we have dedicated ourselves to shipping continuous
quality-of-life improvements throughout the year that do not break existing
applications.
https://laravel.com/docs/13.x/releases#minimal-breaking-changes
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/VJPKP21ZE8.jpg)

Request Forgery Protection
（クロスサイトリクエストフォージェリ対策）
LaravelのCSRFミドルウェアに
Sec-Fetch-Site ヘッダーを使用したリクエストオリジン検証機能を追加
Laravel&#039;s CSRF middleware has been renamed from VerifyCsrfToken to
PreventRequestForgery, and now includes request-origin verification using
the Sec-Fetch-Site header. VerifyCsrfToken and ValidateCsrfToken remain
as deprecated aliases, but direct references should be updated to
PreventRequestForgery, especially when excluding middleware in tests or
route definitions:
https://laravel.com/docs/13.x/releases#request-forgery-protection
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/2EVV2DYMEQ.jpg)

CSRF検証にSec-Fetch-Siteが加わるが
最小限の破壊的変更とは？
懸念点
1. 外部サイト連携とか大丈夫？
2. Postman とか大丈夫？
3. テスト用に認証飛ばすコードは大丈夫？
🤔
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/57GLRY9XEL.jpg)

🔍 Sec-Fetch-Site 検証
どこまで影響があるのか
調べてみた
7


# Page. 8

![Page Image](https://bcdn.docswell.com/page/4EQYVMW5JP.jpg)

Sec-Fetch-Site とは
ブラウザが自動付与するリクエストヘッダー
リクエストの発信元をサーバーに伝える
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/KJ4WMVKV71.jpg)

Sec-Fetch-SiteのValue一覧
Sec-Fetch-Site: 値（この部分）
値
意味
代表例
same-origin
同一オリジンからのリクエスト
fetch(JSON), CSS, image
same-site
同一サイト（サブドメイン含む）
サブドメイン間のAPI呼び出し
cross-site
外部サイトからのリクエスト
外部CDNのCSS/JS, 外部埋め込み
none
ユーザーの直接操作（URLバー等）
URLバー入力, ブックマーク
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/LE1Y83X47G.jpg)

CSRFトークンとSec-Fetch-Site 比較
CSRFトークン
Sec-Fetch-Site
導入時期
いい意味でレガシーな標準的対策
ブラウザ標準機能。新しい。
仕組み
サーバーがトークンを発行・検証
ブラウザが自動でヘッダーを付与
目的
クロスサイトの偽造リクエスト防止
リクエスト元の信頼性判定
実装コスト
フォームにトークン埋め込みが必要
サーバー側でヘッダーを確認するだけ
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/GEWGZPNZJ2.jpg)

・CSRFトークンでやっていることが
ブラウザ標準でもできる
🤔
・Sec-Fetch-Site を使って CSRFトークン廃止？
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/47ZL1K3LJ3.jpg)

今回のLaravelのアップデートは
✅ Sec-Fetch-Site か CSRFトークン による検証
❌ CSRFトークン検証の廃止
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/YJ6WLQXMJV.jpg)

✅ こっち
if (
secFetchSiteCheck() === OK
|| csrfTokenCheck() === OK
) {
// 許可
}
どちらか通ればOK。CSRFトークンの検証も引き続き行う
検証優先：Sec-Fetch-Site &gt; CSRFトークン
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/GJ5M1RXQJ4.jpg)

❌ こうではない
両方とも通らないとNG
if (
secFetchSiteCheck() === OK
&amp;&amp; csrfTokenCheck() === OK
) {
// 許可
}
Sec-Fetch-Siteヘッダーのみでの検証
if (secFetchSiteCheck() === OK) {
// 許可
}
14


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LE3W1PXZE5.jpg)

懸念点 解決
1. 外部サイト連携とか大丈夫？
2. Postman とか大丈夫？
引き続き CSRFトークンを持っていればOK
15


# Page. 16

![Page Image](https://bcdn.docswell.com/page/8EDKXL247G.jpg)

これだけ注意
3. テスト用に認証飛ばすコードは差し替える必要あり
が 非推奨に。
PreventRequestForgery を使う必要がある
VerifyCsrfToken
&lt;?php
use Illuminate\Foundation\Http\Middleware\PreventRequestForgery;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken;
// Laravel &lt;= 12.x
-&gt;
withoutMiddleware([VerifyCsrfToken::class]);
// Laravel &gt;= 13.x
-&gt;
withoutMiddleware([PreventRequestForgery::class]);
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/V7PKP21VJ8.jpg)

まとめ
Laravel が Sec-Fetch-Site によるリクエスト検証を追加
CSRFトークンとの OR 条件 で動作
既存のコード・テスト・ツールへの影響は最小限
確かに 最小限の破壊的変更 だった
17


