ホームページ  >  記事  >  バックエンド開発  >  有効な PHP SAFE MODE 制限に関する質問

有効な PHP SAFE MODE 制限に関する質問

WBOY
WBOYオリジナル
2016-06-13 13:08:01712ブラウズ

PHP SAFE MODE の制限に関する問題

safe_mode が on に設定されている場合、PHP は現在のスクリプトの所有者が、file 関数またはそのディレクトリを通じて操作されるファイルの所有者と一致するかどうかを確認します。例: -rw-rw-r-- 1 rasmus rasmus 33 Jul 1 19:20 script.php
-rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd
script.phpreadfile('/etc/passwd');
?>
を実行します。セーフ モードが有効になっている場合、次のエラーが発生します: 警告: セーフ モード制限が有効です。 uid が 500 のスクリプトは、/docroot/script.php の 2 行目で uid 0 が所有する /etc/passwd へのアクセスを許可されません

Haohappy のステートメント:

理由は、セーフ モードを使用していて、ファイルをアップロードしたユーザーの uid が所有者の uid と異なるため、アクセス権がないためです。たとえば、セーフ モードでは、ftp アップロード ユーザーの uid が 123 で、アップロード所有者の uid が 456 の場合、このようなエラーが発生します。

解決策は 2 つあります:

1.セーフモードをオフにする
2.コマンドラインで chown してファイル/ディレクトリの所有者を変更します
もちろん、どちらの方法でもサーバー権限が必要です。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。