ホームページ  >  記事  >  バックエンド開発  >  PHP セキュリティセーフモード

PHP セキュリティセーフモード

黄舟
黄舟オリジナル
2017-02-20 09:23:351204ブラウズ



セーフモード

PHP のsafe_mode オプションの目的は、この章で説明する問題のいくつかを解決することです。ただし、PHP マニュアル (http://www.php.cn/) に記載されているように、この種の問題を PHP レベルで解決するのはアーキテクチャ的に正しくありません。

セーフ モードが有効な場合、PHP は実行中のスクリプトによって読み取られた (または操作された) ファイルの所有者をチェックして、それがスクリプトの所有者と同じであることを確認します。これはこの章の多くの例から保護しますが、他の言語で書かれたプログラムには影響しません。たとえば、Bash で書かれた CGI スクリプトは次のようになります。 Bash パーサーは、セーフ モードを有効にするために PHP 構成ファイル内の構成文字列を考慮またはチェックしますか?もちろん違います。同様に、Perl、Python など、サーバーでサポートされている他の言語もこれを気にしません。 この章のすべての例は、他のプログラミング言語にも簡単に適用できます。

もう 1 つの典型的な問題は、セーフ モードが WEB サーバーに属するファイルへのアクセスを拒否しないことです。これは、スクリプトを使用して別のスクリプトを作成でき、新しいスクリプトが WEB サーバーに属しているため、WEB サーバーに属するすべてのファイルにアクセスできるためです: 上記のスクリプトは次のファイルを作成します:

 #!/bin/bash
 
  echo "Content-Type: text/plain"
  echo ""
  cat /home/victim/inc/db.inc

ファイルは Web サーバーによって作成されたため、その所有者は Web サーバーになります (Apache は通常、ユーザー none として実行されます): したがって、このスクリプトはセーフ モードによって提供されるセキュリティ対策の多くをバイパスする可能性があります。セーフ モードがオンになっている場合でも、/tmp ディレクトリに保存されているセッション情報などの一部の情報は、これらのファイルが Web サーバー (誰でもない) に属しているため、攻撃者によって表示される可能性があります。

PHP のセーフ モードは何らかの役割を果たしており、多層防御メカニズムと考えることができます。ただし、これでは不十分な保護しか提供されず、この章にはこれに代わる他のセキュリティ対策はありません。

上記は PHP セキュリティセーフ モードの内容です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) をご覧ください。

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