У меня есть рабочий exec в php, который выполняет Jar-файл и возвращает результат:
exec('java -jar Clt.jar ' . $sampleSize . ' ' . $numberOfSamples . ' ' . $randAlgorithm, $output);
Эти параметры проверяются в приложении Java следующим образом:
int sampleSize = Integer.parseInt(args[0]);
int numberOfSamples = Integer.parseInt(args[1]);
int randGenerator = Integer.parseInt(args[2]);
Теперь мне нужно знать, нужно ли мне проверять ввод пользователя, потому что на странице PHP в exec он говорит:
При разрешении передачи пользовательских данных в эту функцию используйте escapeshellarg () илиescapeshellcmd (), чтобы гарантировать, что пользователи не могут обмануть систему в выполнении произвольных команд.
Но в моем случае, когда пользовательский ввод используется только в качестве параметра для приложения, существуют ли какие-либо угрозы безопасности, если я этого не сделаюпроверить, что установлено пользователем, кроме того, что программа не будет выполняться, если пользователь введет строку или число с плавающей запятой?