PHP保険
PHP セキュリティ
セキュリティ、PHP コード作成は 1 つの側面であり、PHP 構成は非常に重要です。
PHP を手動でインストールしました。PHP のデフォルト設定ファイルは /usr/local/apache2/conf/php.ini にあります。最も重要なことは、PHP をより安全に実行できるように php.ini の内容を設定することです。 。 PHP全体のセキュリティ設定は主にphpshellとSQLインジェクションによる攻撃を防ぐためのものです。ゆっくり説明していきます。まず、編集ツールを使用して /etc/local/apache2/conf/php.ini を開きます。他の方法でインストールした場合は、設定ファイルがこのディレクトリにない可能性があります。
(1) PHP のセーフ モードをオンにする
php のセーフ モードは、system()、
などの PHP の一部の関数を制御できる非常に重要な組み込みのセキュリティ メカニズムです。同時に、多くのファイル操作関数の権限が制御され、/etc/passwd などの特定の重要なファイルが許可されません。
ただし、デフォルトの php.ini はセーフ モードで開きません。 :
safe_mode = on
(2) ユーザー グループのセキュリティ
safe_mode がオンになり、safe_mode_gid がオフになると、PHP スクリプトはファイルにアクセスでき、同じ
内のユーザーもアクセスできます。グループは訪問のためにファイルにアクセスすることもできます。
以下に設定することをお勧めします:
safe_mode_gid = off
これを設定しないと、サーバー Web サイトのディレクトリ内のファイルを操作できなくなる可能性があります。たとえば、操作時にファイルを変更する必要があります。
(3) セーフ モードでプログラムを実行するためのホーム ディレクトリ
セーフ モードがオンになっているが、特定のプログラムを実行したい場合は、プログラムを実行するためのホーム ディレクトリを指定できます:
safe_mode_exec_dir = D:/usr/bin
通常の状況では、プログラムを実行する必要はないため、システム プログラム ディレクトリを指定することをお勧めします。
に続いて、実行する必要があるプログラムをコピーします。例:
safe_mode_exec_dir = D:/tmp/cmd
ただし、プログラムは実行しないことをお勧めします。
safe_mode_exec_dir = D:/usr/www
(4) ファイルをセーフ モードで含めます
いくつかのファイルを含めたい場合は、
safe_mode_include_dir = D:/usr/www/include/
実際、通常、PHP スクリプトに含まれるファイルはプログラム内に記述されています。これは特定のニーズに応じて設定できます。
(5) PHP スクリプトがアクセスできるディレクトリを制御します
open_basedir オプションを使用して、指定されたディレクトリにのみアクセスするように PHP スクリプトを制御します。これにより、PHP スクリプトが アクセスすべきではないファイルを削除し、phpshell の害をある程度制限します。通常は、Web サイトのディレクトリにのみアクセスするように設定できます:
open_basedir = D:/usr/www
(6)危険な機能をオフにする
セーフモードがオンになっている場合、機能の禁止は必要ありませんが、安全性を考慮しております。たとえば、
コマンドを実行できる system() などの PHP 関数や、PHP 情報を表示できる
phpinfo() などの関数を実行したくない場合は、それらを禁止できます。
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo
ファイルやディレクトリの操作を禁止したい場合は、多くのファイル操作をオフにすることができます
disable_functions = chdir ,chroot ,dir,getcwd,opendir,readdir,scandir,fopen,unlink,delete,copy,mkdir, rmdir,rename,file,file_get_contents,fputs,fwrite,chgrp,chmod,chown
上記は単なる一般的に使用されるファイル処理関数と呼ばれる部分リストであり、上記の実行コマンド関数とこの関数を組み合わせることもできます。
はほとんどの phpshell に耐えることができます。
(7) http ヘッダーの PHP バージョン情報の漏洩をオフにする
ハッカーがサーバー内の PHP バージョン情報を取得するのを防ぐために、http ヘッダーの PHP バージョン情報の漏洩をオフにすることができます。 http ヘッダーの情報:
expose_php = Off
たとえば、ハッカーが www.12345.com 80 に Telnet した場合、PHP 情報を見ることはできません。
(8) グローバル変数の登録をオフにする
POST または GET を使用して送信された変数を含む、PHP で送信された変数は、グローバル変数として自動的に登録され、直接アクセスできます。
これはサーバーにとって非常に安全ではないため、グローバル変数として登録させることはできません。そのため、グローバル変数の登録オプションをオフにします:
register_globals = Off
もちろん、このように設定されている場合は、対応する変数を取得する場合は、GET によって送信された変数 var を取得するなど、合理的な方法を使用する必要があります。PHP プログラマは、$_GET['var'] を使用してこれを取得する必要があります。
(9) SQL インジェクションを防ぐために magic_quotes_gpc をオンにします
SQL インジェクションは非常に危険な問題で、最小のケースでは Web サイトのバックエンド、最悪の場合はサーバー全体に侵入されます。
ので、必ず注意してください。 php.ini には次の設定があります:
magic_quotes_gpc = Off
これがオンになっている場合、ユーザーが送信した SQL クエリは自動的に変換されます。たとえば、「Convert to」など、SQL インジェクションの防止に重要な役割を果たします。 したがって、次のように設定することをお勧めします:
magic_quotes_gpc = On
(10) エラー メッセージ制御
通常、PHP はデータベースに接続されていない場合、またはその他の状況下でエラーを表示します。この種の情報が提供された後、エラー メッセージには PHP スクリプトの現在のパス情報が含まれます。安全なので、一般的にサーバーではエラー プロンプトを無効にすることをお勧めします:
display_errors = Off
エラー メッセージを表示したい場合は、必ず設定してください警告以上を表示するなど、表示エラーのレベル。情報:
error_reporting = E_WARNING & E_ERROR
もちろん、エラー プロンプトをオフにすることをお勧めします。
(11) エラーログ
サーバーが動作している理由を見つけるために、display_errors をオフにしてエラー情報を記録することをお勧めします:
log_errors =
同時に、エラー ログが保存されるディレクトリも設定する必要があります。
error_log = D:/usr/ のように、ルート Apache ログも一緒に保存することをお勧めします。 local/apache2/logs/php_error.log
注: ファイルでは、Apache ユーザーおよびグループに書き込み権限を許可する必要があります。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











ApacheでCGIディレクトリを設定するには、次の手順を実行する必要があります。「CGI-Bin」などのCGIディレクトリを作成し、Apacheの書き込み許可を付与します。 Apache構成ファイルに「Scriptalias」ディレクティブブロックを追加して、CGIディレクトリを「/cgi-bin」URLにマッピングします。 Apacheを再起動します。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは動的なWebサイトを構築するために使用され、そのコア関数には次のものが含まれます。1。データベースに接続することにより、動的コンテンツを生成し、リアルタイムでWebページを生成します。 2。ユーザーのインタラクションを処理し、提出をフォームし、入力を確認し、操作に応答します。 3.セッションとユーザー認証を管理して、パーソナライズされたエクスペリエンスを提供します。 4.パフォーマンスを最適化し、ベストプラクティスに従って、ウェブサイトの効率とセキュリティを改善します。

Apacheはデータベースに接続するには、次の手順が必要です。データベースドライバーをインストールします。 web.xmlファイルを構成して、接続プールを作成します。 JDBCデータソースを作成し、接続設定を指定します。 JDBC APIを使用して、接続の取得、ステートメントの作成、バインディングパラメーター、クエリまたは更新の実行、結果の処理など、Javaコードのデータベースにアクセスします。

Apacheを開始する手順は次のとおりです。Apache(コマンド:sudo apt-get install apache2または公式Webサイトからダウンロード)をインストールします(linux:linux:sudo systemctl start apache2; windows:apache2.4 "serviceを右クリックして「開始」を右クリック) (オプション、Linux:Sudo SystemCtl

Apache 80ポートが占有されている場合、ソリューションは次のとおりです。ポートを占有するプロセスを見つけて閉じます。ファイアウォールの設定を確認して、Apacheがブロックされていないことを確認してください。上記の方法が機能しない場合は、Apacheを再構成して別のポートを使用してください。 Apacheサービスを再起動します。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。
