エラーメッセージ中の絶対パス名を表示させたくない(from なお)

  • ページ: BugTrack
  • 投稿者: みこ
  • 優先順位: 普通
  • 状態: 完了
  • カテゴリー: その他
  • 投稿日: 2004-08-12 (木) 09:59:45
  • バージョン: 1.4.3

メッセージ

official:続・質問箱/288からの抜粋です。

セキュリティ上の要件で、例えば下記のようなURLをアクセスした時、表示されるエラーメッセージにローカルホストの絶対パス名が表示されるので、セキュリティ上好ましくない、という意見が私の周りで出てきました。これはPukiWikiの問題では無い様に思うのですが、対応策とか考えられるのでしょうか?

http://www.hoge.org/dirs/rules.ini.php

   Fatal error: Call to undefined function: format_date() in
   /path/to/pukiwiki/rules.ini.php on line 20

rules.ini.php はたぶんPukiWikiを知っていれば誰でも分かる名前尚で、確実にインストールされているローカルディレクトリがばれてしまう、という点が問題にされています。


  • 他にも init.php などをダイレクトにアクセスするとエラーが表示されます。php.ini の display_errors を 0 にすればいいという意見もでるかもしれませんが、レンタルサーバなどで調整できない方もでるでしょうからきちんと対処したほうがいいかとおもいます。 -- みこ 2004-08-12 (木) 10:04:44
  • official:続・質問箱/288で紹介したパッチは一時的なものなので(おそらくどちらもfunc.phpに依存)本来は他のphpアプリケーションみたいになにかの define で判別するほうがいいのかな? -- みこ 2004-08-12 (木) 10:16:12
  • こんばんは :) official:質問箱/288の方にもコメントさせていただきました。上記の様に「定義されている関数がないぜ」というエラーは、他のphpファイルに関数を定義して切り離している以上避けられないものなので、そうですね・・・分割しているファイルの上下を何かのフラグで囲み、それがtrueでないと中身を評価しない、といった細工がもし動くのであればいいのでしょうかね。 -- henoheno 2004-08-12 (木) 22:35:56
  • 特定のdefineが定義されていなかったら、die、というのならばもう少し軽いかな? -- henoheno 2004-08-12 (木) 22:37:24

index.php あるいは pukiwiki.php

   <?php
   define('PUKIWIKI', ''); // <= これを追加

それ以外のphpファイル

   <?php
   if (! defined('PUKIWIKI')) die; // <= これを追加
   /////////////////////////////////////////////////
   // PukiWiki - Yet another WikiWikiWeb clone.
   //
  • この程度で良さそうです。お好みでどうぞ ;) -- henoheno 2004-08-12 (木) 22:44:38
  • すみません XD 質問箱/288 には DATA_DIR と書いていましたが、DATA_HOMEでないと lib/init.php はだめみたいです。 -- みこ 2004-08-13 (金) 00:00:58
  • ちなみに、影響のある(=そのまま実行してエラーの出る)ファイルは rules.ini.php lib/init.php lib/mbstring.php の3つです。 -- みこ 2004-08-13 (金) 00:02:32
  • うーん、というか現在配布されているPHPスクリプト全般にいえますが本来は直接アクセスされるもの以外*1はWebからはアクセスできない領域におくことを推奨するべきではないでしょうか。PukiWiki.org自体も、実はData領域はWeb公開領域の外に移動してたりするわけですし。 -- 白石? 2004-08-13 (金) 02:21:24
  • コメントありがとうございます。基本的には私もそれを強く推奨したいですが、(1.4.4ではそれは非常に容易ですが)、1.4.3では難しいと思います。今回は発端となっている環境が1.4.3だったため、それに触れず、このBugTrackは簡単なソース改変による対応策を検討する場とさせていただきました。official:続・質問箱/288の方もご覧下さい :) -- henoheno 2004-08-13 (金) 07:59:03

  • 動作テストまでしてしまったので、 .htaccess を追加しておきました(1.3, 1.4とも)。Apache 2.x 系で確認しました。FilesMatchディレクティブは Apache 1.3系にもあるので問題ないとは思いますが、もし 1.x 系をお持ちの方がいらしたらお試し下さい。 -- henoheno 2004-08-13 (金) 21:35:18
  • apache_1.3.31では問題なく使えましたが、apache_1.3.32ではerror_logに
    $(PUKIWIKI_HOME)/.htaccess: Regex could not be compiled
    とでて、Internal Server Errorになります。調べたところ、
    <FilesMatch \.(?i:ini\.php|lng|txt|gz|tgz)$>
                   ^^^
    が使えなくなったようです。上記3文字を削除することでエラーが回避できました。大小文字を区別させないためと思われますが、必要なんでしょうか。 -- よっちい? 2004-10-22 (金) 09:21:29
    • => 必要ありませんでした。BugTrack/734 -- 2004-11-06 (土) 10:51:55

*1 PukiWikiならindex.phpと画像以外

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-11-06 (土) 10:51:55
Site admin: PukiWiki Development Team

PukiWiki 1.5.2+ © 2001-2019 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u8. HTML convert time: 0.231 sec.

OSDN