構成設定を使用してWebページに統合されたPHPを保護する方法

PHPコードは、HTMLコードとともにWebページに統合できます。 Webサーバーがページのクエリを受信すると、そのページは主にPHPハンドラーに提供されます。 PHPハンドラーは、HTMLコードを調整せずに出力し、PHPコマンドを実行します。また、PHPコマンドで作成されたHTMLコードも出力します.


これにより、リクエスタに転送される前にサーバーで変更されたコンテンツを含むWebページが生成されます。.

PHPのこれらの機能は、World Wide Webまたはインターネット上の任意の場所からのデータのアクティブな収集、データの受信、およびデータの処理を可能にするという事実により、PHPをセキュリティリスクにさらしやすくします。ハッカーは、悪意のあるデータやスクリプトを投稿し、悪意のあるスクリプトを収集して自分のサーバーとして実行するようにサーバーを騙します.

悪意のある要素は、サーバー上のファイルを読み書きしてWebサイトを追い越し、それを利用して恐ろしい行為を実行しようとする場合もあります。.

良いニュースは、PHPの設定を実際に調整して、PHPインストールのセキュリティを強化し、悪意のある形式の攻撃からWebサイトを安全に保つことができることです。.

Php.iniファイルは、PHPがWebサイトで実行されるときにPHPが使用する構成設定を規定しています。 Php.iniファイルは、PHPスクリプトが実行できること、および実行が禁止されていることを規定しています.

以下は、PHP構成設定のセキュリティを決定する推奨設定です.

手順1:次の推奨されるPhp.ini設定を構成します。

1. allow_url_fopen = Off allow_url_include = Off

consoleCopy

allow_url_fopen =オフ

この設定により、分離されたURLが無効になります。これにより、関数を処理するファイルがコードインジェクションに対して脆弱になる可能性があります。この設定は、URLがinclude()などのステートメントで使用されないようにするため、非常に重要です。構成、設定"allow_url_fopenを "オフ," あなたのウェブサイト上のファイルだけが統合されることができることを意味します.

つまり、別のサーバーのファイルを統合することはできません。また、リモートファイルインクルージョン(RFI)攻撃を介して攻撃者がこれを行うことはできません。 (RFI攻撃では、san imposterは、HTTPクエリのURLを、スクリプトがあなたのスクリプトによって実行されていると思い込ませるビューと統合します。integrate-("http://website.com/page.php")、たとえば、実行されません。パスとファイル名を入力して、自分のサイトのファイルを組み込む.

2. register_globals = Off Register_globals設定を無効にします

consoleCopy

register_globals =オフ

たとえば、http://site.com/index.php?variable = *** value ***というURLの場合、変数は値が設定されたスクリプトに移動します  register_globalsが "オン." register_globalsが "オフ," それにもかかわらず、変数はルーチンによってスクリプトの変数リストの変数リストに転送されません。これにより、ハッカーがスクリプトにコードを挿入することが難しくなります.

3. open_basedir ="c:inetpub"

このスクリプト設定は、PHPシステムがファイルシステムで読み書きできる場所を制限するために使用されます。.

4. safe_mode = Off safe_mode_gid = Off

この設定は、セーフモードを無効にするために使用されます.

consoleCopy

safe_mode =オフ

この設定は "推奨されるPhp.ini" ファイル。これは、実行するPHPスクリプトに付与された権限を制限します。 safe_modeが有効に設定されている場合、多くのサードパーティスクリプトは正しく機能しません。 "オン." PHP 6のsafe_modeで始まることは存在しないことに注意してください.

5. max_execution_time = 30 max_input_time = 60

この設定は、スクリプトの実行にかかる時間を制限します

6. memory_limit = 16M upload_max_filesize = 2M post_max_size = 8M max_input_nesting_levels = 64

この設定は、使用できるファイルのメモリとサイズを制限します.

7. display_errors = Off log_errors = On error_log ="C:あなたの選択の道"

この設定は、エラーメッセージとログの構成に役立ちます.

consoleCopy

DISPLAY_ERRORS =オフ
display_startup_errors =オフ
log_errors =オン
error_reporting = E_ALL

これらのコマンドは、エラーと警告全体がエラーログテキストファイルに記録され、サーバーの外部に転送されるWebページにエラーまたは警告が表示されないことを明記することを規定しています.

エラーは、誰かがサーバーへの攻撃を開始する方法を決定するのを助けることができるという事実により、公開されるべきではありません。新しいコードをテストしているときはいつでも、常にエラーログを確認する必要があります。.

8. fastcgi.logging = 0

PHPがFastCGIプロトコルを使用してstderrで情報を転送する場合、インターネットインフォメーションサービス(IIS)FastCGIモジュールはクエリを返しません。 FastCGIロギングを無効にすることで、PHPがエラーメッセージをstderrに転送し、ユーザーに対して500の応答コードを作成するのを停止します.

9. exposed_php =オフ

この設定は、PHPがWebサーバーに統合されていることを隠すために使用されます.

10. $ _SERVER [‘DOCUMENT_ROOT’]

consoleCopy

include($ _ SERVER [‘DOCUMENT_ROOT’]。 ‘/page.php’);

$ _SERVER [‘DOCUMENT_ROOT’]は、Webサイトのルートフォルダーとして機能するように構成されたスーパーグローバル変数です。 (末尾がないことに注意してください "/";あなたはリーダーを提供する必要があります "/" ‘/page.php’にあります。)

統合するように所有している別のWebサイト( ‘http://myothersite.com/includes/footer.php’)から静的コンテンツを組み込む場合は、現在のサイトのコンテンツの複製を取得し、その後ローカルで統合します.

分離されたサイトのコンテンツを統合する必要がある場合は、常にURLを使用して、allow_url_fopen = Onに設定する必要があります。ただし、RFI攻撃から保護するために別のセキュリティオプションを実装します.

11. error_log = /home/yourUserID/public_html/phperr.txt

 consoleCopy

error_log = /home/yourUserID/public_html/phperr.txt

この設定により、PHPエラーと警告がログインするパスとファイルが決まります。エラーログにはテキストファイルを使用する必要があります。ただし、テキストファイルはエラーをクリアするまで、永遠にエラーが蓄積されることに注意する必要があります。エラーログファイルを、一般の人がアクセスできないWebサイト上の場所に保存します。.

12. exposed_php =オフ

consoleCopy

exposed_php =オフ

この設定により、離脱するページに続くヘッダーに、PHPまたは関連バージョンを実行していることが隠されます.

ステップ2:PHP設定を表示する

上記のPHP設定を構成した後、設定をチェックして、すべてのPHP設定に関する完全なレポートを取得できます。これを行うには、以下の手順に従います。

1.テキストファイルを生成する .php 拡張:

XMLCopy
<?php phpinfo(); ?>

2.サーバーにアップロードし、可能であればパスワードで保護されたフォルダにアップロードします.

3.クリックしてWebブラウザーを開き、 住所 アドレスバーに:

consoleCopy

http://yoursite.com/whatever/filename.php

4.入力します ユーザー名 そして パスワード 保護されたフォルダにアクセスして、結果のページを確認する.

5.クリック セーブ 結果のページをローカルコンピュータに保存します。将来の参考のために印刷することもできます.

6.クリック 削除する 削除する .php サーバーからファイル.

以下の上位3つのWindowsホスティングサービスを確認してください。

Hostwinds

開始価格:
$ 3.29


信頼性
9.3


価格
9.2


使いやすい
9.2


サポート
9.3


特徴
9.2

レビューを読む

Hostwindsにアクセス

Time4VPS

開始価格:
3.27ドル


信頼性
8.4


価格
8.5


使いやすい
8.3


サポート
8.1


特徴
8.1

レビューを読む

Time4VPSにアクセス

InterServer

開始価格:
$ 5.00


信頼性
9.1


価格
9.3


使いやすい
9.1


サポート
9.0


特徴
9.1

レビューを読む

InterServerにアクセス

関連するハウツー記事

  • 構成設定を使用してWebページに統合されたPHPを保護する方法
    中間
  • サイトごとのPHP構成を有効にしてPhp.Iniの場所を指定する方法
    中間
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me