ホームページ  >  記事  >  バックエンド開発  >  PHP環境の強化_PHPチュートリアル

PHP環境の強化_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-15 13:23:121041ブラウズ

PHP が Apache のモジュールとして実行される場合、Apache 自体のセキュリティが重要な役割を果たします。そのため、正しく設定されていれば、PHP は非常に安全な環境になります。ただし、PHP が CGI モードで実行される場合は、それほど安全ではありません。 。
この記事で説明されている操作は、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_mode、doc_root、usr_dir パラメータを変更して、ユーザーを自分の仮想ホスト環境に制限する必要があります:
safe_mode = On
doc_root = /usr/local/apache / htdocs
user_dir = /home/albertxu/htdocs
2. CGI として
CGI として PHP を実行する場合は、他人に知られたくない情報が漏洩する可能性があるため、十分に注意する必要があります。
最初に注意すべきことは、実行可能ファイルをドキュメントのルート ディレクトリ以外の場所に配置する必要があるということです。たとえば、/usr/local/bin なので、すべての CGI ファイルは次で始まる必要があります:
#!/usr/local/bin/php
ユーザーが CGI を直接呼び出すのを防ぐ方法は、Apache で CGI リダイレクトを強制することです:
Action php - script /cgi-bin/php.cgi
AddHandler php-script .php
これにより、次の URL が追加されます



http://www.bkjia.com/PHPjc/446879.html

本当http://www.bkjia.com/PHPjc/446879.html技術記事 PHP が Apache のモジュールとして実行される場合、Apache 自体のセキュリティが主導的な役割を果たすため、正しく設定されていれば PHP は非常に安全な環境になるはずですが、PHP を CGI で実行すると...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。