管理系秘匿設定の外部ファイル化構想メモ
2026-07-19 JST
（構想段階。実装はまだ行っていない。メンテナー（基さん）の判断待ち）


1. 問題意識
------------------------------------------------------------
今回のセッションで、conf.phpのパス系設定を巡る一連の事故
（過去ログ出力失敗、カウンターエラー、install.phpの新規キー
穴埋め処理の問題、migrate.phpの自動パス書き換え）を扱った。

これとは別に、ADMINKEY（管理人投稿モード移行用キーワード）が
conf.php内に平文で保存され、crypt比較ではなく単純な文字列比較で
照合されている点がkaguya氏の指摘・基さんとの確認により判明した
（README.md ToDo参照）。

ここから、そもそも管理系の秘匿情報（ADMINPOST・ADMINKEYなど）を
conf.php本体から切り離し、外部ファイル化してはどうか、という構想が
出た。理由：
  * conf.phpはinstall.phpのマージ処理（バックアップ・上書き・
    新規キー穴埋め等）の対象であり、今回のような「意図せず値が
    変わる／消える」事故のリスクを本質的に抱えている。
  * 管理系の秘匿情報は、そもそもこのマージ処理の対象から完全に
    外してしまえば、同種の事故が構造的に起こり得なくなる。


2. 検討した論点
------------------------------------------------------------

[a] ファイル形式：PHPファイル vs 単純テキスト/iniファイル

  * PHPファイル案：
      return array('ADMINPOST' => '...', 'ADMINKEY' => '...');
    のような形式で、bbs.php側からrequireして読み込む。
    PHPソースはWebサーバーが（正しく設定されている限り）実行される
    ものであり、直接内容がブラウザへ返される経路が構造的に存在
    しない。

  * テキスト/ini案：
    .htaccessによる`deny all`が確実に効くことが前提になる。
    今回のセッション中、.htaccessのphp_value指定が環境によって
    500エラーになったり、.user.iniでないと効かない共有レンタル
    サーバーに遭遇した実例があった。つまり.htaccessが効かない
    環境は現実に有り得ることが今回のセッションで確認できている。

  * 現時点での印象：
    PHPファイル形式の方が、.htaccessの設定ミスや対象サーバーの
    仕様差异に対して構造的に強い（.htaccessは保険として併用する
    位置づけ）。ただしこれはメンテナーの判断が必要な点。

[b] install.phpの視界から外す

  この外部ファイルは、newbbs/テンプレートに一切含めない
  （data/・logs/等の実データファイルと同じ思想）。そうすれば
  install.phpの$files一覧（テンプレートに実在するファイルのみを
  走査するksphp_install_list_files()）に一切現れず、コピー・
  バックアップ・上書きの対象にならない。「パス指定は弄らない」
  と同じ発想で、「存在自体をinstall.phpに気づかせない」ことが
  事故を避ける一番確実な方法だと考えられる。

[c] ファイル名

  あまり「意味ありげ」な名前（admin.php等）だと、逆に狙われやすい
  可能性がある。命名規則をどうするか（他のconf.php等に紛れさせる
  か、逆に特徴的な名前にして.gitignore的な除外リストで確実に
  管理するか）は未確定。

[d] 対象範囲

  ADMINPOST・ADMINKEYの2つが対象候補。ADMINNAME・ADMINMAILの
  ような非秘匿の管理設定は、これまで通りconf.phpに残す想定
  （未確定、要確認）。


3. 現状のステータス
------------------------------------------------------------
構想段階。実装は行っていない。上記[a]〜[d]について、メンテナー
（基さん）の意見・判断を待って詳細設計に進む。


4. 関連
------------------------------------------------------------
README.md ToDo: ADMINKEYの平文比較に関するセキュリティ懸念の記録
（2026-07-19）から派生した構想。
