Я кодирую веб-интерфейс к ужасному программному обеспечению, которое использует наша компания. У программного обеспечения нет реального пользовательского интерфейса и требуется, чтобы мы предоставляли шпаклеру доступ к нашей системе, чтобы наши клиенты могли даже извлекать данные. Мой веб-интерфейс должен запускать функцию exec();
, и он должен передать несколько переменных, которые пользователь вводит.
$command = "report-call '$type' '$study' '$server' '$tag' '$specopt1' '$specopt2' '$specopt3' '$specopt4'";
$last_line = exec($command, $output, $returnvalue);
Теперь я предполагаю, что я мог бы просто удалить точки с запятой из $command
varible и быть в безопасности, но я не уверен, и поэтому я представляю это здесь, прежде чем мы выйдем в следующем месяце.
Каким будет лучший способ обезвредить $command
? Есть несколько специальных символов, которые мне нужны, чтобы быть в переменных [ ] < > ! # $
.