0

ここに私の問題があります:PHPから外部アプリに16進数データを渡したい:

exec('echo "'.$message.'" | /usr/bin/gateway');

$message はユーザー入力から取得されます。

テスト'"/'\'/"\""//

addslashes()、stripslashes() は私の悩みを解決しません。使用中:

$message = stripslashes($_POST['message']);

それは私が見ることができるコンソールログです:

sh: 1: Syntax error: Unterminated quoted string

または空の値

そこで、入力を 16 進数値に変換して渡すと役立つと考え始めました。

exec('echo -e '.$message.' | /usr/bin/gateway');

しかし、その後、16 進数データをそのエコーに渡すときに問題が発生しました。

だから私の質問はそれを行う方法ですか?ユーザーが書いたものとまったく同じ文字列をゲートウェイ サービスに渡す必要があります。- ユーザー入力を 16 進形式に変換し、それを echo -e に入れます (どのように?) - または何らかの方法で引用符とスラッシュと戦います

4

1 に答える 1