cgi-bin вопрос - PullRequest
       14

cgi-bin вопрос

0 голосов
/ 27 августа 2010

У меня есть доступ к общему веб-хосту. Установленный там сайт использует exec(). Около 4 месяцев назад эта функция была включена, но теперь они занесли ее в список disable_functions. Они поместили exec, passthru и shell_exec в этот список, но забыли добавить system :) Это заставляет меня думать, что администратор сервера не очень осведомлен о том, что он делает. Во всяком случае, теперь они говорят, что эти функции никогда не должны были быть включены, и они не будут повторно включать их.

Установленный веб-сайт использует exec() для запуска некоторых php-скриптов, которые могли бы выполнять некоторую фоновую работу. Сейчас я смотрю, есть ли какой-нибудь другой «законный» способ запустить эти php-скрипты в фоновом режиме (я ожидаю, что system() будет работать, но, возможно, они отключат его и в будущем). А теперь мой простой вопрос: В предопределенной файловой структуре я вижу папку cgi-bin. Как его использовать? Из того, что я читал в Интернете, он используется для генерации «динамических» страниц при доступе через браузер, но на сервере все равно установлен php, поэтому я не вижу его использования.

1 Ответ

1 голос
/ 27 августа 2010

/cgi-bin/ - это каталог, в который следует поместить CGI-скрипт .
Вы можете обойти ограничения exec в PHP с помощью CGI.

Создать файл с именем somefile.sh с содержанием:

#!/bin/sh
printf "Content-Type: text/plain\n\n"
#your code here

Это будет работать только в том случае, если / bin / sh действительно существует и является исполняемым (например, если вы не используете chroot без / bin / sh)

Есть достаточно способов выполнить команду.Если они отключают CGI, вы можете продолжить с SSI .

...