Flastroで始めるモダンWebサイト開発
by pochaneco
#Astro
#PHP
#Web開発
このサイトはFlastroをベースに構築されています。FlastroはAstroとFlightPHPを組み合わせた軽量で高速なWebスタックです。
なぜFlastroなのか?
1. 高速なパフォーマンス
Astroの静的サイト生成により、驚くほど高速なページ読み込みを実現します。
---
// Astroコンポーネントの例
const data = await fetch('./api/data');
---
<div>
<h1>高速表示</h1>
</div>
2. シンプルなバックエンド
FlightPHPは軽量で学習コストが低く、必要な機能だけを提供します。
<?php
Flight::route('/api/hello', function() {
Flight::json(['message' => 'Hello World!']);
});
3. セキュリティ
Laravelなどのフルスタックフレームワークに比べてシンプルなため、対策が必要です。 今回は下記のようなセキュリティ機能を実装してみました。
- 公開ディレクトリ制限
- エントリーポイントを
public/ディレクトリに限定し、他のコードや設定ファイルへの直接アクセスを防止
- エントリーポイントを
- Cloudflare Turnstile
- Bot対策、CAPTCHAのスマートな代替
- レート制限
- IPアドレスごとにリクエスト数を制限
- CSRF保護
- フォーム送信時にトークンを検証
- XSS対策
- 出力エスケープを徹底
- SQLインジェクション対策
- プリペアドステートメントを使用
- Honeypot対策
- BOTが隠しフィールドに入力した場合は拒否
まとめ
Flastroは、モダンなフロントエンドと信頼性の高いバックエンドを組み合わせた理想的な選択肢です。
自由かつ最低限で無駄のない実装がしたいときにおすすめします。