ホームページ >バックエンド開発 >PHPチュートリアル >PHPのバージョンとApacheのバージョンを非表示にする方法まとめ_PHPチュートリアル

PHPのバージョンとApacheのバージョンを非表示にする方法まとめ_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:47:46820ブラウズ

今日、ウェブマスターツールまたはいくつかの関連ツールを使用して、サーバーで使用されているphpのバージョン番号とApacheのバージョン番号を直接確認できることを発見しました。これらのバージョンに問題がある場合、これはWebサイトにとって非常に危険です。残念ながら、Windows でバージョンを非表示にする方法を見てみましょう。

PHPのバージョンを隠す

セキュリティ上の理由から、PHP バージョンの脆弱性によって引き起こされる攻撃を避けるために、PHP バージョンを非表示にすることが最善です。

1. PHP バージョンを隠すということは、「X-Powered-By: PHP/5.2.13」という情報を隠すことを意味します。

方法はとても簡単です:

php.ini 設定ファイルを編集し、次の内容を変更または追加します。expose_php = Off 保存後、Nginx や Apache などの対応する Web サーバーを再起動します。

コードは次のとおりです コードをコピー

[root@bkjz /]#カール -I www.bKjia.c0m
HTTP/1.1 200 OK
サーバー: nginx
日付: 2010 年 7 月 20 日火曜日 05:45:13 GMT
コンテンツタイプ: text/html; 接続: キープアライブ
変更: エンコーディングを受け入れる

PHPのバージョンは完全に非表示になりました。

Apacheのバージョン番号を隠す

一般に、ソフトウェアの脆弱性情報は特定のバージョンに関連しているため、ソフトウェアのバージョン番号は攻撃者にとって非常に貴重です。

デフォルトでは、システムはすべての Apache バージョンのモジュールを表示します (http はヘッダー情報を返します)。ディレクトリをリストすると、次のようなドメイン名情報 (ファイルリストのテキスト) が表示されます:

コードは次のとおりですコードをコピー非表示方法:
[root@localhost tmp]#curl -I 192.168.80.128:88

HTTP/1.1 403 禁止
日付: 2010 年 7 月 21 日水 13:09:33 GMT
サーバー: Apache/2.2.15 (CentOS)
受け入れ範囲: バイト
コンテンツの長さ: 5043
接続: 閉じる
コンテンツタイプ: text/html;

1. Apache のバージョン番号を非表示にする方法は、Apache 構成ファイルを変更することです。たとえば、RedHat Linux のデフォルトは次のとおりです。

コードは次のとおりですコードをコピーvim /etc/httpd/conf/httpd.confキーワード ServerTokens と ServerSignature をそれぞれ検索し、次のように変更します:

ServerTokens OS が ServerTokens ProductOnly に変更されました

サーバー署名オンがサーバー署名オフに変更されました

2. Apache を再起動またはリロードします。

コードは次のとおりですコードをコピーapachectl 再起動次のようにテストします:

コードは次のとおりですコードをコピー[root@localhost tmp]#curl -I 192.168.80.128:88 HTTP/1.1 403 禁止
日付: 2010 年 7 月 21 日水 13:23:22 GMT

サーバー: Apache
受け入れ範囲: バイト
コンテンツの長さ: 5043
接続: 閉じる
コンテンツタイプ: text/html;


バージョン番号とオペレーティングシステム情報は非表示になっています。

3. 上記の方法は、デフォルトでインストールされている Apache 用です。コンパイルしてインストールされている場合は、ソース コードを変更してコンパイルする方法も使用できます。

Apache ソース コード ディレクトリの下の include ディレクトリに入り、ap_release.h ファイルを編集します。次の変数が表示されます。

コードは次のとおりです#AP_SERVER_BASEVENDOR「Apache Software Foundation」を定義します自分の好みに応じて、バージョン番号と名前を変更または非表示にすることができます。
コードをコピー
#define AP_SERVER_BASEPROJECT 「Apache HTTP サーバー」

#AP_SERVER_BASEPRODUCT「Apache」を定義します

#AP_SERVER_MAJORVERSION_NUMBER 2 を定義します

#AP_SERVER_MINORVERSION_NUMBER 2 を定義します

#AP_SERVER_PATCHLEVEL_NUMBER 15 を定義します
#AP_SERVER_DEVBUILD_BOOLEAN 0 を定義します

Windows で Apache と PHP のバージョン番号を非表示にする方法はまだ見つかりません。見つけたら以下で更新します。

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

本当http://www.bkjia.com/PHPjc/632828.html技術記事今日、ウェブマスターツールまたはいくつかの関連ツールを使用して、サーバーで使用されているphpのバージョン番号とApacheのバージョン番号を直接確認できることを発見しました。これは、Webサイトにとって非常に危険です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。