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


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

Спасибо

Author: Yarin, 2010-12-27

2 answers

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


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

Но возможны следующие проблемы:

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

Остерегайтесь внедрение кода если вы не делаете проверка на заражение.

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

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

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

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

 6
Author: DigitalRoss, 2010-12-26 23:52:05

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

 0
Author: Teson, 2011-12-07 15:23:56