質問

いというファイルと generator.php を使用する fwrite()result.php のサーバ(Apache、PHP4).

一つのライン result.php はPHP include() ます。

そこで generator.php:

if (!is_file($fname)){
    $resultfile = fopen($current_path . "/" . $fname, "w+");
}
fwrite($resultfile, '<?php include($_SERVER["DOCUMENT_ROOT"] . "'. '/inc/footer.php"); ?>' . "\n");
fclose($resultfile);
chmod($current_path . "/" . $fname, 0755);  

result.php:

<h2>Sponsored Links</h2>
<!-- begin sidebar_top ad -->
<?php echo $_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php" . "<hr />";
  include($_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php"); ?>
<!-- end sidebar_top ad -->

その include() 算書いま result.php ブラウザ.エコー文は、ピックアップしました。パスに通知するものとします。

他の test.php 同コードは、いろいろ考えさせらをFTPのデータを同じフォルダを作ります。

このコードの両方のファイルの場合の回収によFTPで提供しております。

test.php:(作品の反響音を含みます。)

<?php 
echo $_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php" . "<hr />";
include($_SERVER['DOCUMENT_ROOT'] . "/ads/sidebar_top.php"); 
?> 

あらゆるアイデアの include() ります。 test.php (手動で作成した)とい result.php (使用して作成し fwrite()時と同じフォルダ?

唯一の違いを知っている間にファイル:

  1. オーナーが異なる可能性があるためです(な result.php 作成されるユーザー nobody?)
  2. アクセス権も異なります。FTPいファイル(作業) 0775, のものを使用して作成しfwrite()(含まない) 664, はchmodedの generator.php0775.
  3. test.php ファイルを編集したMacとSmultron、FTPアップロード、 result.php 作成した fwrite()generator.php Linuxと呼ばれるからである。
役に立ちましたか?

解決 2

PHP4セーフモードがオンのときは、別のuidによって書かれてresult.phpは、別のuidに属し含まれているファイルを、アクセスできなくすることはできません。

  実際には

SAFE MODE制限。 UIDが48であるスクリプトがアクセスを許可されていません   UID 10010が所有/var/www/vhosts/example.com/httpdocs/ads/sidebar_top.php   ライン130上の/var/www/vhosts/example.com/httpdocs/results/result.phpで

私はphp.iniを開いてsafe_mode_gid = Onに変え、そして私のsafe_mode_include_dirにディレクトリが含まれて追加することでこれを解決します。

私はまた、変更を有効にするにはApacheを再起動する必要がありました。

他のヒント

fwrite($resultfile, '<?php include($_SERVER["DOCUMENT_ROOT"] . "/inc/footer.php"); ?>' . "\n");

あなたがそこに「余分を持っていた私は考える。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top