0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Web 開発再入門 #17 ― セキュリティ対策(CSRF 対策処理)

Last updated at Posted at 2024-04-28

Web 開発再入門 #17 ― セキュリティ処理(CSRF 対策処理)

fmockup

★ 本ページは工事中 ★

はじめに

Web アプリケーションのサーバー・サイドを開発します。

CSRF 対策(緩和策)を施します。
Web サーバーにログインした後、何らかの方法で悪意の Web サイトのニセ更新画面(しかも画面デザインは完全に似せている)に誘導し、そのニセ更新画面から本来の Web サーバーに更新リクエストする手法です。って、うまく説明できないなぁ...。
あらゆる画面で作り込む必要があります。後で CSRF 対策を作り込むのは大変になりますので、初めから作り込んでいくむことをお勧めします。

CSRF:Cross-Site Request Forgery

CSRF 対策のおおざっぱな処理について:

  1. Web サーバー・サイドは、ランダムな CSRF トークンを生成してクライアント・サイドに返却する。
  2. クライアント・サイドは、 CSRF トークンを保持しておく。
  3. クライアント・サイドは、更新リクエストを行うときに、Web サーバーに CSRF トークンを送付する。
  4. Web サーバー・サイドは、生成した CSRF トークンとクライアント・サイドから送付された CSRF トークンが一致するか否かを検証する。

フォルダー・ファイル構成

D:\
└ Developments\
    └ Workspace\
         └ fmockup\
             ├ build\
             ├ sql\
             ├ src\
             │ └ main\
             │     ├ java\
             │     │ └ cn\
             │     │     └ com\
             │     │         └ xxxx\
             │     │             └ fmockup\
             │     │                  ├ action\
             │     │                  │ ├ xxxx.java
             │     │                  │ └ SessionTokenAction.java ← コレ
             │     │                  ├ controller\
             │     │                  ├ customizer\
             │     │                  ├ entity\
             │     │                  ├ mapper\
             │     │                  ├ response\
             │     │                  │ ├ xxxx.java
             │     │                  │ └ TokenResponse.java ← コレ
             │     │                  ├ service\
             │     │                  │ ├ xxxx.java
             │     │                  │ └ yyyy.java
             │     │                  ├ util\
             │     │                  │ └ SessionUtil.java
             │     │                  ├ validator\
             │     │                  └ validator_order\
             │     └ resources\
             ├ vue-vite\
             └ WinSW.NET-nnn\

ファイルの文字コード

基本的に Eclipse でファイルを作成するので、あまり意識したことがありません。
多分、Unix 改行(LF)なのだと思います。

ファイルの作成

  1. Eclipse で、ファイル “SessionTokenAction.java”、“TokenResponse.java”、 を作成する。
    SessionTokenAction.java
    TokenResponse.java
    説明:
    ランダムな CSRF トークンを生成してクライアント・サイドに返却します。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?