Использование команд оболочки из PHP/CGI - плохая практика?

Команды оболочки считаются законным интерфейсом программирования? В частности, что-то не так с выполнением команд оболочки bash на сервере приложений linux со страниц PHP или файлов CGI? Вносит ли это проблемы эффективности или безопасности?

Спасибо

2 ответа

Решение

Иногда хорошо, но...


Иногда это лучший способ решить проблему.

Но возможные проблемы:

Безопасность

Обращайте внимание на внедрение кода, если вы не проверяете заражение.

Спектакль

Запуск команд оболочки будет включать в себя разветвление интерпретатора PHP и выполнение сложных и относительно медленных системных вызовов. Это нормально для слегка загруженного сервера, но не будет работать для загруженного сайта.

синхронизация

Обеспечение того, чтобы все происходило в правильном порядке, позволяет избежать общеизвестных проблем, называемых потерянными обновлениями, грязным чтением и неправильными сводками. Хотя команды оболочки сами по себе не являются причиной какой-либо из этих вещей, выполнение их асинхронно может быть и увеличение сложности вашей системы усложнит анализ.

Если безопасное приложение и сервер, нет.

Другие вопросы по тегам