查詢

escapeshellarg()函式—用法及示例

「 轉義給命令列引數新增引號的字串,以便在 shell 命令中安全使用 」


函式名:escapeshellarg()

適用版本:所有 PHP 版本

用法:escapeshellarg() 函式用於轉義給命令列引數新增引號的字串,以便在 shell 命令中安全使用。該函式主要用於防止命令注入攻擊。

語法:string escapeshellarg ( string $arg )

引數:

  • $arg:要轉義的字串,可以包含特殊字元或空格。

返回值:返回轉義後的字串。

示例:

$arg = "some text; echo 'Hello World'";
$escapedArg = escapeshellarg($arg);
$cmd = "echo " . $escapedArg;
echo shell_exec($cmd); // 輸出:some text; echo 'Hello World'

在上面的示例中,原始字串 $arg 包含特殊字元和命令分隔符。使用 escapeshellarg() 函式轉義後的字串 $escapedArg 在 shell 命令中被以引號包圍,從而保證該字串在命令中的安全性。然後,使用 shell_exec() 函式執行命令,最終將原始字串輸出到命令列上。

請注意,在使用該函式時,必須使用引號包圍所生成的命令列引數。這是因為 escapeshellarg() 只負責跳脫字元串中的特殊字元,並不能自動將轉義後的字串包裝在引號內。這是為了確保字串在各種命令或環境中都能夠正常執行。

補充糾錯
上一個函式: error_log()函式
下一個函式: escapeshellcmd()函式
熱門PHP函式
分享連結