[PHP-users 779] Re: PHPコードを他のユーザから隠蔽する方法

松嶋祥文 php-users@php.gr.jp
Fri, 20 Jul 2001 01:45:22 +0900


松嶋@ITBoost です。

| スクリプトのユーザIDとグループIDを、
| Apacheを動かしているユーザID・グループIDに変更し、
| パーミッションも400にしました。
| 
| これで、同ホスト上に他のアカウントを持つユーザからも
| 中身を見られることはないだろうと考えてたのですが、
| 良く考えると、PHPにはfopen()関数があります。
| ファイル名さえ分かっていれば、他のユーザがfopenで
| そのファイルを開くスクリプトを書けば、ソースは丸見えになってしまいます。

今試せる環境がないのですが、
  http://jp.php.net/manual/ja/features.safe-mode.php
にある、
  disable_functions
  open_basedir
  safe_mode_exec_dir
とかを組み合わせて使うのはどうでしょうか?
open_basedir は PHP3 でも使えるようです。
disable_functions はもしかするとダメかもしれません。

fopen() を阻止しても、system() とかを阻止しないと
意味無いですからね。

# PHP4 は良いですよ。
-- 
                                                      ,-------------+
+----------------------------------------------------'              |
| 株式会社 IT Boost / アイティーブースト                            |
| 松嶋 祥文 [ mats@itboost.co.jp ]                                  |
|                                         http://www.itboost.co.jp/ |
|         PHP, Perl, PostgreSQL, Apache, Java 他、いろいろあります。|
+-------------------------------------------------------------------+