フェーズ1構成
Astroで決定的な静的HTMLを生成し、Cloudflare Pagesで公開します。検証ケースはContent Collectionsと内部マニフェストで管理します。
- Astro・TypeScript
- Cloudflare Pages
- GitHub Actions
- Vitest・Playwright
- 出力形式
- 静的サーバー側実行なし
- 外部スクリプト
- 0解析タグ未導入
- Cookie利用
- 0フェーズ1時点
Technology
Astro、Cloudflare、GitHubを中心に、公開サイト、API、CMS、セキュリティラボを分離する構成です。検証環境である以上、ビルドの決定性を優先します。
Astroで決定的な静的HTMLを生成し、Cloudflare Pagesで公開します。検証ケースはContent Collectionsと内部マニフェストで管理します。
このサイトは検証対象でもあるため、ビルドのたびに出力が変わってはいけません。同じ入力から同じHTMLが出ることを前提に実装しています。
| 禁止していること | 理由 |
|---|---|
| 現在時刻に依存する表示 | 毎ビルドで差分が出て、回帰判定ができない |
| 乱数による出し分け | 同じURLで異なる評価結果になる |
| 地域・端末による本文切り替え | クローラーが見る内容を特定できない |
| ビルド時の外部API取得 | 外部障害でビルド内容が変わる |
| 描画後にのみ現れる本文 | 取得可能性の検証条件を壊す(/lab/ の一部を除く) |
Workers、D1、R2、共有ホスティング上のWordPress、ローカルDockerを用途別に追加します。公開サイトと脆弱性検証環境は、Cookie、データベース、認証情報を共有しません。
意図的に脆弱なアプリケーションは、共有ホスティングにも公開サイトにも配置しません。ローカルのDocker環境に限定し、遠隔からの利用が必要な場合のみ、認証付きトンネルを一時的に開きます。
エッジ実装でHTTPステータス、リダイレクト、ヘッダー系fixtureを追加します。
専用のGA4プロパティとGTMコンテナで計測fixtureを構築します。
APIとデータストアを追加し、検証結果を蓄積します。
CMS・PHP環境の挙動検証を分離環境で行います。
脆弱性検証環境をローカル隔離で構築します。
Explore next
最終更新: