Разное > Флейм
Как обезопасить апач от phpRemoteView.php
FreeSpace:
--- Цитировать ---Yukko:
список программного обеспечения, которое должно быть установлено в обязательном порядке на каждой машине
--- Конец цитаты ---
Если нет возможности доходчиво объяснить этому "техническому директору" разницу между сервером и воркстейшеном, то я тебе искренне соболезную :(
--- Цитировать ---Croaker:
А php реализован как модуль апача, а не cgi?
--- Конец цитаты ---
Вот это очень уместное уточнение!
Предложенный мною способ годится только в том случае, если php установлен как cgi-приложение.
Запускать несколько апачей под каждого отдельного пользователя я считаю высшей степенью помешательства, так что под SAPI, насколько я знаю, это не осуществимо.
Croaker:
--- Цитировать ---FreeSpace:
Запускать несколько апачей под каждого отдельного пользователя я считаю высшей степенью помешательства, так что под SAPI, насколько я знаю, это не осуществимо.
--- Конец цитаты ---
И тем не мнее так делают и весьма успешно.
Почему помешательство, если не секрет?
Yukko:
FreeSpace
сочувствия приняты, легче не стало...
FreeSpace:
--- Цитировать ---Croaker:
Почему помешательство, если не секрет?
--- Конец цитаты ---
Причин можно привести очень много, начиная от гибкости настройки и заканчивая обновлением версий или латанием дыр.
Но самый весомый аргумент, имхо, - это производительность.
Может быть на хостинге с парой-тройкою юверов этот способ можно относительно успешно применять, но если это крупный хостинг с тысячами юзеров? Представь себе хотя бы тот объем памяти, который будут занимать все эти апачи...
Кроме того, насколько я знаю, не всё так просто.
Апач слушает 80 порт, а сотня апачей, запущенных из-под разных юзверей, один и тот же порт слушать не могут. Следовательно, нужно вводить демона-координатора, который будет слушать 80-ый прот и "расфасовывать" запросы по разным апачам, закрепленными за разными виртуалхостами.
PS: Возможно я тут бред написал, с никсами я пока что на "Вы".
Croaker:
FreeSpace
Я тоже не юникс-гуру, но попробую тебя опровергнуть :)
Когда речь идет про апач для каждого пользователя, никто не говорит, что каждому пользователю надо ставить по дистрибутиву. Исполняемые файлы одни, а конфигурационныен файлы разные для всех пользователей.
Про память.. не берусь утверждать 100% но по-моему (ориентируюсь по опыту) основная нагрузка возникает, когда веб-сервер обрабатывает запрос, а сам процесс httpd, просто висящий в памяти жрет не так много. Соответственно разница, когда у тебя висит (утрировано) 100 процессов httpd и они обрабатывают 1000 запросов, либо когда у тебя висит 1 процесс httpd и те же 1000 запросов, разница не критична. За то ты можешь, если постараешься, отдельному процессу (и соответственно всем запросом от процесса) выдать лимит памяти, и пользователь будет жрать ее ровно столько, сколько ему положено. Когда 1 апач на всех, по памяти ограничить не получиться.
80-ый порт и демон координатор - ну тут я точно знаю как делать (так сделали мы) - ствишь Squid, который прослушивает запросы по внешним ip адресам \\ именам доменов, а потом перенаправляет запрос на web-сервер, который в свою очередь настроен на прослушивание внутренних ip-адресов и своего порта, который может быть от 80-ого отличен. Ну и ответ клиенту происходит так же.
В теории где-то так, на практике реалзовано пока не все.
Навигация
Перейти к полной версии