私は、会社が使用している恐ろしいソフトウェアにWebインターフェイスをコーディングしています。このソフトウェアには実際のUIがなく、クライアントがデータをプルするために、システムへのパテアクセスを提供する必要があります。私のWebインターフェースはexec();
関数を実行する必要があり、ユーザーが入力するいくつかの変数を渡す必要があります。
$command = "report-call '$type' '$study' '$server' '$tag' '$specopt1' '$specopt2' '$specopt3' '$specopt4'";
$last_line = exec($command, $output, $returnvalue);
今では、変数からセミコロンを削除して$command
安全である可能性があると思いますが、確信が持てないため、来月公開する前にここでポーズをとっています。
消毒するための最良の方法は何でしょう$command
か?変数に含める必要のある特別な文字がいくつかあります [ ] < > ! # $
。