Short URL Manager v0.3.0
========================

自分のサーバーで使える独立型の短縮URL管理アプリです。
WordPressプラグインではありません。

【推奨環境】
- PHP 8.1以上（7.4でも基本動作する構成ですが、8.1以上を推奨）
- Apache / .htaccess / mod_rewrite が利用可能
- HTTPS環境

【設置】
1. ZIPを展開します。
2. short-url-manager フォルダの「中身一式」を、サーバーの /u/ フォルダへアップロードします。
   例: https://example.com/u/
3. ブラウザで https://example.com/u/manage/ を開きます。
4. 初回のみ10文字以上の管理パスワードを設定します。
5. 以後、/u/manage/ から短縮URLを作成します。

【編集】
- 過去履歴の短縮URLまたは「編集」をクリックすると、上部の作成画面が編集画面に切り替わります。
- 元URL・管理名・短縮文字を同じ画面で修正できます。
- 案内済みの短縮URLを維持したい場合は、短縮文字を変えずに元URLだけを変更してください。

【生成されるURL】
https://example.com/u/sample2026

【重要】
- 既存サイトで利用中のURLやフォルダと重複する場所には設置しないでください。
- data フォルダには転送先URLと管理パスワードのハッシュが保存されます。
- data フォルダはWebサーバーから書き込み可能である必要があります。
- .htaccess が無効なサーバーでは、そのままでは短縮URL形式が動作しません。
- 管理画面のパスワードを忘れた場合に備え、data/settings.json のバックアップを推奨します。
- アプリ一式と data フォルダは定期バックアップ対象にしてください。

【セキュリティ】
- 管理画面はパスワード必須
- パスワードは password_hash() でハッシュ保存
- 認証CookieはHttpOnly / SameSite=Strict（HTTPSではSecure）
- CSRF対策
- http/https以外の転送先を拒否
- ログイン失敗回数制限（15分間に8回）
- dataフォルダへのWebアクセス拒否
- 管理画面・転送に noindex 指定

【バックアップ】
短縮URLデータは data/links.json に保存されます。
このファイルを失うと既存短縮URLの転送先情報も失われます。
