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