アシアル株式会社主催 開発者向け、一歩先をいくためのテクニカルセミナー

<< Fatal Errorの捕捉 質問一覧 スクリプトの実行権限 >>

  • 300P
PHPのsafemodeとは?

初めてこちらに投稿させていただく mokkey と申します。
よろしくお願いします。

私は、レンタルサーバーでPHPを動かしているのですが、どうも、私が借りているところでは、PHPのSafeModeがONになっているようです。

SafeModeがONになっていると、いろいろな制限が加わると聞いたことはありますが、イマイチ、具体的にどのような制限がかかるのか分かりません。

SafeModeの制限について、皆さんが知っている情報を教えていただけたらと思います。
宜しくお願いします。

この質問への意見の募集は締め切られ、ポイントは既に配分されました。
意見を投稿することはできますが、ポイントを受け取ることはできません。

QPHPのsafemodeとは? mokkey  [07月12日 23時32分] 
┣Re:PHPのsafemodeとは? hummer  [07月13日 06時08分] 
┗Re:PHPのsafemodeとは? daijurin  [07月13日 13時39分] 

コメント一覧

並び替え( ツリー順 / 投稿順[降順] / 投稿順[昇順]

Re:PHPのsafemodeとは?

http://www.php.net/manual/ja/features.safe-mode.php
にずばり書かれています。

http://www.php.net/manual/ja/features.safe-mode.functions.php
に「セーフモードにより制限を受けるか無効となる関数」の一覧があるのでこっちを見たほうが良いでしょう。

マニュアル以外の情報は良く知らんです。

Re:PHPのsafemodeとは?

こんにちは

簡単に言うと、プログラムの仕組みに依存せずに、システムに危険を及ぼす可能性を減らす機能だと考えるとよいでしょう。
例えば、system()やexec()、他にも外部コマンドを実行する仕組みがPHPにはありますが、この仕組みを利用して、怪しげなプログラムを実行するように、phpが改ざんされる可能性を減らすため、safe_modeで信頼したフォルダにあるコマンド以外は実行できないように制限をかけたりします。

また、Webサーバのドキュメントルート配下以外のディレクトリには、許可したところ以外に書き込みを出来なくして、コンテンツのセキュリティホールを突いた、システムへの改ざん行為などを防ぐ機能も働きます。

また、仕組み的に危険なことが出来るphp関数は動作しなくなったり、一部機能制約を受ける関数が出てきます。

レンタルサーバーのように、不特定多数の利用者に開放するような環境では、safe_modeにしておかないと、利用者が意図していなかったセキュリティホールが出来ている場合などもあるでしょう。
利用者全員が、phpの熟練者で、セキュリティ事情にも精通していれば問題ないのかもしれませんが、そうではないというのが実情だと思うので、必要な対策だと思います。
Fatal Errorの捕捉 質問一覧 スクリプトの実行権限