OSはLinux Fedora10で、ウェブサーバは Apache/2.2.10 (Unix)、PHPは5.2.9 (cli)を使用しています。
以下のディレクトリをウェブサーバのディレクトリとして作成し、その中にPHPファイルをそれぞれ設置しています。
/var/www/aaa
/var/www/bbb
/var/www/ccc
ここで、ディレクトリ「/var/www/aaa」内のPHPファイルにおいては、system()やその他のプログラム実行関数を許可したいのですが、その他の「/var/www/bbb」や「/var/www/ccc」内のPHPファイルにおいては許可したくありません。
上記のことを実現すべく、プログラム実行関数の使用を制限するために、「php.ini」のファイルを以下のように変更しました。(その後、HTTPDを再起動して、変更を反響させました。)
safe_mode = Off
↓
safe_mode = On
safe_mode_exec_dir =
↓
safe_mode_exec_dir = /var/www/aaa
すると、ディレクトリ「/var/www/bbb」や「/var/www/ccc」内のPHPファイルだけではなく、除外したはずの「/var/www/aaa」内のPHPファイルでも、system()やその他のプログラム実行関数の使用ができなくなりました。そして、以下のようなエラーメッセージを受け取ります。
Warning: shell_exec() [function.shell-exec]: Cannot execute using backquotes in Safe Mode in /var/www/aaa/example.php on line 10
PHPのセーフモードをディレクトリ毎にうまく設定するにはどうすればよいのでしょうか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
ちょっと触ってみましたが、確かに無視される感じですね。
(5.3.1)権限をお持ちのようですから Apacheの httpd.confもいじれると思いますので、以下でどうでしょう。
<Directory "/var/www/aaa">
php_admin_flag safe_mode Off
</Directory>
ご回答、本当にありがとうございました。
中々回答が得られなかったので、半ばあきらめていました。
そういうわけで、このコメントを今まで見ていませんでした。
大変失礼致しました。
JaneDueさんのアドバイス通りやってみたところ、
目的の結果が得られ、とても感謝しているところです。
2011/06/20 23:51
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
- UNIX・Linux shellscript内のコマンドを、sudo(toor)として実行 2 2022/09/23 15:05
- Windows 10 バッチファイルの記述法とルールについてアドバイスをお願いいたします。 1 2022/04/13 10:50
- WordPress(ワードプレス) ワードプレスのエラー ログイン画面が表示できない 1 2022/11/05 09:51
- PostgreSQL PostgreSQLで"pg_dumpall -f data.sql"を使ってバックアップしたデータ 2 2022/09/19 08:14
- UNIX・Linux Linuxについて質問です。 以下のhistoryの出力結果から、sedコマンドのファイル名tmp1 1 2023/02/03 20:11
- JavaScript gasについて 1 2022/05/31 21:51
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- Windows 10 指定したファイルを任意の範囲のディレクトリ内に上書き保存したい 1 2022/11/24 10:42
- UNIX・Linux AWSのEC2のZabbixユーザーでawscliコマンドが実行できない状態を解決する 1 2022/12/06 22:17
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
CFileDialogの最初のディレクト...
-
図に示す階層構造で,現在のデ...
-
visualstudioでc#のdllができない
-
【PHP】declare命令で”Fatal er...
-
Subversionのリポジトリの削除
-
絶対パス?絶対アドレス?意味...
-
VB.NET 最下位のディレクトリ名...
-
glob関数で日本語文字が取得で...
-
fopenでファイルが開かない場合...
-
Subversionで、ファイルをリネ...
-
exec()で他ディレクトリのexeプ...
-
Linuxで画像がアップロードでき...
-
PHP 削除やコピーが出来ない
-
C言語でのディレクトリ作成につ...
-
コマンドプロンプトを指定のデ...
-
ファイルアップロードに関して...
-
mingwにパスを通せたのですが、...
-
EXEを起動するとDLLが見つから...
-
unlink「許可がありません」と...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FTPコマンドでディレクトリごと...
-
Subversionのリポジトリの削除
-
バッチを用いたフォルダの自動移動
-
CFileDialogの最初のディレクト...
-
visualstudioでc#のdllができない
-
ファイルアップロードに関して...
-
現在位置より2つ上のディレク...
-
makefile でファイルをコピーす...
-
fopenでファイルが開かない場合...
-
rmdirでフォルダが消せません
-
絶対パス?絶対アドレス?意味...
-
コマンドプロンプトを指定のデ...
-
VB.NET 最下位のディレクトリ名...
-
VB2008でFTPでのディ...
-
DLL のロードの順序
-
MkDir関数
-
ファイル選択ダイアログで選択...
-
図に示す階層構造で,現在のデ...
-
[ ディレクトリ '.' は書き込み...
-
JAVA内で複数のファイルを削除...
おすすめ情報