Неподдерживаемые символы в пути к файлу командной строки - PullRequest
0 голосов
/ 09 ноября 2010

Я бы хотел позвонить в Java-приложение из PHP:

exec('LC_ALL=en_US.utf-8 java -jar /test.jar' . $filepath . ');

Но в пути к файлу всегда есть неподдерживаемые символы.

Например: # &; ? * [SPACE] ..., после изменения их на # \ & ... все будет в порядке.

Но полный список этих персонажей не найден.

Есть идеи, как решить эту проблему?

Ответы [ 2 ]

1 голос
/ 09 ноября 2010

Посмотрите на escapeshellarg() и escapeshellcmd().

Они позаботятся обо всех необходимых для вас санитарных условиях.

Если $filepath поступает извне (например, из пользовательского ввода), выполнение escapeshellarg() является обязательным для предотвращения инъекций.

0 голосов
/ 10 ноября 2010

Моя проблема решена.

Полезный URL: http://bugs.php.net/bug.php?id=44945

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...