0Pricing
Sveltejs Academy · レッスン

Form ActionsでのCSRF対策

SvelteKitがForm Actionsでクロスサイトリクエストフォージェリを防ぐ仕組みを理解します。

「Form ActionsでのCSRF対策」はCoddyKit上の無料Sveltejs Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはSveltejs Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Sveltejs Academyコースには全4レッスンが含まれています。

CSRFとは

クロスサイトリクエストフォージェリは、認証済みユーザーのブラウザーを誘導して、サイトに偽造リクエストを送信させます。

SvelteKitのデフォルト

SvelteKitのフォームアクションは、デフォルトでクロスオリジンの送信元からのリクエストをブロックし、CSRFを軽減します。

仕組み

SvelteKitは、状態を変更するメソッドでOriginヘッダーとホストを照合します。

SameSite Cookie

多層防御の一環として、CookieにsameSite: "lax"を設定します。

無効化は慎重に

svelte.config.jsでcsrf: { checkOrigin: false }を指定すると、CSRF保護を無効にできます。ただし、ほとんどの場合は推奨されません。

外部からのフォームPOST

クロスオリジンのPOSTを受け付ける必要がある場合は、代わりにAPIトークンを使用します。

CSRFをテストする

無関係なオリジン(例:JSFiddle)からフォームを送信してみてください。SvelteKitによって拒否されるはずです。

GETメソッド

GETリクエストはデフォルトではCSRF保護の対象外です。状態の変更には決してGETを使用しないでください。

防御の組み合わせ

SameSite Cookie、Originチェック、認証トークンを組み合わせて、多層的にセキュリティを確保します。

よくある間違い

JWTをlocalStorageに保存してfetchで読み取ると、SameSiteによる保護が無効になります。

監査ログ

不審なクロスオリジンの試行を記録し、攻撃を早期に検出します。

確認

SvelteKitはCSRF対策として、デフォルトで何をチェックしますか?

まとめ

SvelteKitはデフォルトでクロスオリジンのPOSTをブロックします。SameSite Cookieと組み合わせ、無闇に無効化しないでください。

よくある質問

「Form ActionsでのCSRF対策」レッスンは無料ですか?

はい。「Form ActionsでのCSRF対策」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Sveltejs Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Sveltejs Academyコースには全4レッスンが含まれています。

「Form ActionsでのCSRF対策」で何を学びますか?

SvelteKitがForm Actionsでクロスサイトリクエストフォージェリを防ぐ仕組みを理解します。 ブラウザで直接実行するハンズオンコードでSveltejs Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Sveltejs Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのSveltejs Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Form ActionsでのCSRF対策」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このSveltejs Academyレッスンでコードを書いて実行できますか?

はい。すべてのSveltejs Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Form ActionsでのCSRF対策
  2. {#html}でのXSS対策
  3. 環境変数:$env/staticと$env/dynamic
  4. Hooksによるレート制限
← Sveltejs Academyに戻る