Skip to content

Instantly share code, notes, and snippets.

View kobitoDevelopment's full-sized avatar

I_AM_NOT_SPAM kobitoDevelopment

View GitHub Profile

JWT認証フロー(推奨構成)

  1. ユーザーがログインする

  2. サーバが短寿命 access token を発行する
    理由:

    • 漏洩時の悪用時間を短縮するため
      (token窃取後の攻撃継続時間を制限できるため)

    NG例:

JWT認証フロー(推奨構成)

  1. ユーザーがログインする

  2. サーバが短寿命 access token を発行する
    理由:

    • 漏洩時の悪用時間を短縮するため
      (token窃取後の攻撃継続時間を制限できるため)

    NG例:

HTTPSサイト公開直後のbotによる大量アクセスの原因と対策

1. 状況と発生事象

1.1 発生する状況

状況 発生事象
HTTPS通信用のTLS証明書(慣例的に「SSL証明書」と呼称)を発行する 証明書情報がCertificate Transparency Log(CT Log)に登録される
CT Logに登録される 第三者が誰でも検索・取得可能な状態になる
@property --p {
syntax: "<length>";
initial-value: 0px;
inherits: true;
}
.box {
--r: 20px; /* ボックスの角丸 */
--b: 6px; /* ボーダーの幅 */
--c: #adadad; /* ボーダーのカラー */

"use server" に関する備忘録

基本動作

  • "use server" を付けた関数(Server Action)は、実装コードはサーバー側にのみ存在し、クライアントバンドルには含まれない。
  • Next.js は自動でエンドポイントを生成し、クライアントから POST リクエストで呼び出せる状態になる。
  • 結果として、認証されていないユーザーを含め、誰でもそのエンドポイントを呼び出せる。

セキュリティ上の扱い

バックエンドエンジニアリング基礎領域マップ

実務で着手する順に構成。


1. Linuxとシェルの基礎

すべての土台。クラウド環境の問題も、実態はLinuxレベルの問題であることが多い。

<!-- ==========================================================
Speculation Rules API テンプレート
構成: prefetch + prerender + 副作用URL除外 + セレクター除外
※ type="speculationrules" の中身はJSONとしてパースされるためコメントを含められない。HTML側で補足する
※ 配置: head内またはbody内。JSとして実行されないため他のscriptとの順序は無関係
※ 無効化条件:
Save-Dataヘッダー有効時
省エネモード かつ バッテリー残量低下時
メモリ不足時
========================================================== -->

<システム名> 要件定義書

項目 内容
プロジェクト名 <記入>

用語集

記入ガイド: 本書中で使用する固有名詞・略語・業界用語を定義する。読み手が前提知識なしで読めることを目標とする。

ボットによる大量アクセスに対するコスト調整の原則

1. レート制限(Rate Limiting)

1.1 制限単位

単位 説明
IPアドレス 送信元IPごとにリクエスト数を制限する
APIキー 発行したキーごとにリクエスト数を制限する
.svg {
width: 400px;
height: 800px;
}
.svg-path {
stroke-dasharray: var(--totalLength);
stroke-dashoffset: var(--totalLength);
}