Являются ли командами оболочки считающимися законным программным интерфейсом? В частности, что-то не так с выполнением команд оболочки bash на сервере приложений linux с PHP-страниц или файлов CGI? Означает ли это вопрос эффективности или безопасности?
благодаря
Иногда это лучший способ решить проблему.
Но возможны следующие проблемы:
Безопасность
Следите за введением кода, если вы не выполняете проверку taint .
Представление
Выполнение команд оболочки будет включать в себя интерпретацию PHP-интерпретатора и выполнение сложных и относительно медленных системных вызовов . Это нормально для легко загружаемого сервера, но не будет работать для загруженного сайта.
синхронизация
Обеспечение того, чтобы все происходило в правильном порядке, позволяет избежать известных проблем, называемых потерянными обновлениями , грязными чтениями и неправильными сводками . Хотя команды оболочки сами по себе не являются причиной какой-либо из этих вещей, их асинхронно запускать, и увеличение сложности вашей системы затруднит анализ.
Если безопасное приложение и сервер, нет.