ホームページ > バックエンド開発 > PHPの問題 > PHP の一般的なコマンド実行関数を見てみましょう

PHP の一般的なコマンド実行関数を見てみましょう

WBOY
リリース: 2023-03-16 07:58:01
転載
3695 人が閲覧しました

この記事では、PHP に関する関連知識を提供します。主に、PHP の一般的なコマンド実行関数をいくつか紹介します。コマンド実行関数を使用して、オペレーティング システムのコマンドを実行します。一緒に見てみましょう。できれば幸いです。それはみんなを助けます。

PHP の一般的なコマンド実行関数を見てみましょう

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

PHP コマンド実行機能は、コード実行の脆弱性と組み合わせて使用​​されることがよくあります。コマンド実行関数 オペレーティング システム コマンドを実行して攻撃を開始します。次に、よく使用される PHP コマンド実行関数をいくつか紹介します。

system();

# #system() この関数はシステムコマンドを実行し、コマンドの実行結果をインターフェイスに直接出力することができます。使用する場合は、実行するコマンドをパラメータ

system('ls');
ログイン後にコピー

に直接渡すだけです。 ##exec( );

exec() 関数はシステム コマンドを実行できますが、結果を直接出力せず、実行結果を array

exec( 'ls' , $result )

パラメータ1: 文字列型、実行する必要のあるシステムコマンド
パラメータ2: 配列型、システムコマンドの実行結果を保存
Print_r ($ result); // 出力実行結果

shell_exec();

shell_exec() 関数はシステム コマンドを実行できますが、実行結果は直接出力されず、格納する文字列型変数 システムコマンドの実行結果は、実行する必要のあるシステムコマンドをパラメータ

echo shell_exec('ls');
ログイン後にコピー

passthru();

に渡すだけ

passthru() 関数は、システム コマンドを実行し、実行結果をページに出力します。system() 関数とは異なり、バイナリ データをサポートしており、ファイルや画像などの操作によく使用されます。 type システム コマンドはパラメータに直接渡されます。つまり、

passthru('ls');
ログイン後にコピー

popen();

popen() 関数はシステム コマンドを実行できますが、実行結果は出力されませんが、リソースを返します。Type 変数は、システム コマンドの実行結果を格納するために使用されます。コマンドの実行結果を読み取るには、fread() 関数とともに使用する必要があります。

$ result = Popen('ls', 'r');

パラメータ1:文字列型、実行するコマンド
パラメータ2:文字列型、モード
戻り値:リソースの型、コマンド実行結果
echo fread($result, 100);
パラメータ 1 : リソースの型、読み込むファイルポインタ
パラメータ 2: int 型、n バイト読み込む
戻り値 : String 型、読み込むファイルの内容

echo fread(popen('ls','r'),100);
ログイン後にコピー

Backticks``

Backticks はシステム コマンドを実行できますが、結果は出力されません。代わりに、実行結果を保存する文字列型変数を返します。システム コマンドの結果。単独で使用するか、他のコマンド実行関数と組み合わせて使用​​して、パラメーターのフィルター条件をバイパスします。

echo `ls`;
ログイン後にコピー

推奨学習: 「

PHP ビデオ チュートリアル##」 #「

以上がPHP の一般的なコマンド実行関数を見てみましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
関連するチュートリアル
人気のおすすめ
最新のコース
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート