ホームページ  >  記事  >  バックエンド開発  >  PHPで特定のメソッドを無効にする方法

PHPで特定のメソッドを無効にする方法

青灯夜游
青灯夜游オリジナル
2023-03-09 14:07:532670ブラウズ

php で特定のメソッドを無効にする手順: 1. php.ini 構成ファイルを開き、機能を無効にする構成項目、つまり「disable_functions」項目を探します; 2. 必要な関数を追加します構成項目 (メソッド) に無効にするには、複数の機能を英語のカンマで区切って指定し、構文は "disable_functions = "symlink,system"" となります。 3. 変更を保存し、サービスを再起動します。

PHPで特定のメソッドを無効にする方法

このチュートリアルの動作環境: Windows7 システム、PHP8 バージョン、DELL G3 コンピューター

php の特定のメソッド

php のメソッド (関数) を無効にしたい場合は、php.ini 設定ファイルで操作する必要があります。

具体的な手順:

1. php.ini 設定ファイルを開き、「disable_functions」項目を探します

「disable_functions」項目は次のとおりです。 PHP で機能を無効にするための設定項目

PHPで特定のメソッドを無効にする方法

#2. この設定項目に無効にする必要がある機能を追加します。複数の機能はカンマで区切る必要があります。

PHPで特定のメソッドを無効にする方法

3. 変更を保存してサービスを再起動します

##PHP で無効になっている機能を表示する##PHP で、ini_get() 関数を使用して、PHP で無効になっている関数を表示できます。

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
var_dump(ini_get(&#39;disable_functions&#39;));
?>

PHPで特定のメソッドを無効にする方法

説明:

ini_get() 関数の役割: 構成オプションの値を取得することは、 php.ini の値 環境変数の値。

戻り値: 成功は構成オプション値を返す文字列であり、null 値は空の文字列を返します。設定オプションが存在しない場合は false が返されます。

#拡張知識: 無効にする必要があるいくつかの危険な PHP 関数

phpinfo()
  • 機能説明: PHPの環境情報や関連モジュール、WEB環境などの情報を出力します。

    危険レベル: 中

    passthru()
  • 関数の説明: exec( と同様に、外部プログラムの実行を許可し、出力をエコーし​​ます。 )。

    危険レベル: 高

    exec()
  • 関数の説明: 外部プログラム (UNIX シェルや CMD コマンドなど) の実行を許可します。等。)。

    危険レベル: 高

    system()
  • 関数の説明: passthru() と同様に、外部プログラムの実行と出力のエコーを許可します。

    危険レベル: 高

    ##chroot()

  • 関数の説明: システムがサポートしている場合にのみ、現在の PHP プロセスの作業ルート ディレクトリを変更できます。 CLI モード
  • PHP でのみ動作し、この機能は Windows システムには適用されません。

    危険レベル: 高

    scandir()

  • 関数の説明: 指定されたパスにあるファイルとディレクトリを一覧表示します。
  • 危険度:中

    chgrp()

  • 機能説明:ファイルまたはディレクトリが属するユーザーグループを変更します。
  • 危険度: 高

    chown()

  • 関数説明: ファイルまたはディレクトリの所有者を変更します。
  • 危険度: 高

    shell_exec()

  • 関数の説明: シェルを通じてコマンドを実行し、実行結果を文字列として返します。
  • 危険度: 高

    proc_open()

  • 関数の説明: コマンドを実行し、読み取りおよび書き込みのためにファイル ポインターを開きます。
  • 危険度: 高

    proc_get_status()

  • 関数の説明: proc_open() を使用して、オープンされたプロセスに関する情報を取得します。
  • 危険度: 高

    ##error_log()

    関数説明: エラー情報を指定された場所(ファイル)に送信します。
  • 安全上の注意: PHP の一部のバージョンでは、error_log() を使用して PHP セーフ モードをバイパスし、任意のコマンドを実行できます。

    危険度: 低

    ##ini_alter()

    関数説明: ini_set() 関数のエイリアス関数であり、関数は と同じです。 ini_set() 。

  • 危険レベル: 高
  • ini_set()

    関数の説明: PHP 環境構成パラメーターの変更および設定に使用できます。

  • 危険レベル: 高
  • ##ini_restore()

    関数の説明: PHP 環境設定パラメーターを初期値に復元するために使用できます。

    危険レベル: 高
  • ##dl()

    関数の説明: PHP の実行中 (起動時ではない) に PHP 外部モジュールをロードします。

    危険レベル: 高

  • ##pfsockopen()

    関数の説明: インターネットまたは UNIX ドメインでソケット永続接続を確立します。

    危険度: 高

  • ##syslog()
  • 関数説明: UNIX システムのシステム層 syslog() 関数を呼び出すことができます。

    危険度:中

  • readlink()
  • 関数説明:シンボリックリンクが指す対象ファイルの内容を返します。

    危険度: 中

  • symlink()
  • 機能説明: UNIX システムにシンボリック リンクを作成します。

    危険度: 高

    ##popen()
  • 関数の説明: コマンドは、popen() および Popen() のパラメータを介して渡すことができます。開いたファイルが実行されます。

    危険レベル: 高

    stream_socket_server()
  • 機能の説明: インターネットまたは UNIX サーバー接続を確立します。

    危険度: 中

  • putenv()

    関数説明: PHP 実行時のシステム文字セット環境を変更するために使用されます。 5.2.6 より前の PHP バージョンでは、この関数を使用してシステムの文字セット環境を変更し、次に sendmail コマンドを使用して特別なパラメータを送信し、システム SHELL コマンドを実行できます。

    危険レベル: 高

推奨学習: 「PHP ビデオ チュートリアル

以上がPHPで特定のメソッドを無効にする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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