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

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

Спасибо

Ответы [ 2 ]

6 голосов
/ 27 декабря 2010

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


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

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

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

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

Производительность

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

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

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

0 голосов
/ 27 декабря 2010

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

...