ホームページ >php教程 >php手册 >PHP環境を強化する

PHP環境を強化する

WBOY
WBOYオリジナル
2016-06-21 09:02:171290ブラウズ

PHP として Apache のモジュールが実行されているときは、Apache 自体のセキュリティが主導的な役割を果たすため、正しく設定されていれば、PHP 非常に安全な環境であるはずですが、PHPCGI 方式で実行される場合、安全な環境にはなりません。とても安全です。

この記事で説明されている操作は、Unix および Windows すべてに適用されます。

1. Apache モジュール

一般的に言えば、
Apache“nobody” または “www” になるからです。 を実行するため、PHP はモジュールとして非常に安全です。

PHP が仮想ホスト環境にある場合、他のユーザーが閲覧できる危険性があります' ファイル。簡単なスクリプトは次のとおりです:
// ドキュメント がルート化されていると仮定します /usr/local/websites/mydomain

$location = '. ./'; // 上のディレクトリに移動
$parent = dir($location);

// 現在のディレクトリを表示 : /usr/local/websites
while($entry = $parent->read()) {
echo $entry . >';

}
$parent->close();
?>

このように、$location が変更されている限り、ユーザーは次のことを行うことができます。仮想ホスト ファイル上の他のすべてのユーザーを参照します。このような危険を軽減するには、php.ini を確認し、safe_modedoc_root および usr_dir パラメータは、ユーザーを自分の仮想ホストに制限します環境 次へ: safe_mode = オン
doc_root = /usr/local/apache/htdocs
user_dir = / home/albertxu/htdocs

2.CGI

🎜>PHPCGI モードで実行する場合は細心の注意が必要です。他人に知られたくない情報が漏洩する可能性があります。

まず注意すべきことは、実行可能ファイルをドキュメントのルート ディレクトリ以外の場所に置く必要があるということです。たとえば、
/usr/local/bin なので、すべての CGI ファイルは、 で始まる必要があります。 >

#!/usr/local/bin/php

ユーザーが
CGI を直接呼び出すのを防ぐ方法は、Apache中強制CGIリダイレクト:

アクション php-script /cgi-bin/php.cgi
AddHandler php -script .php これにより、次の URL

http://example.com/mywebdir/test.htm

に変換します:

http://example.com/cgi-bin/ php/mywebdir/test.htm

CGI モードで PHP をコンパイルするとき、次のオプションを使用するのが最善です:

--enable-force-cgi-redirect



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