Блокировка веб-приложения работает только для интрасети
Через неделю в будущем у меня будет работа по созданию веб-приложения php, которое будет работать в качестве процесса выставления счетов. Как договорились клиент и моя команда, веб-приложение будет развертываться только на их внутреннем сервере. Эта необходимость вызвала у меня некоторые фундаментальные вопросы.
- как нам заблокировать веб-приложение, которое действительно будет работать только на внутреннем сервере, а не в Интернете, как он просил? из-за этой необходимости стоимость работы была в какой-то степени снижена. так что будет лучше, если это будет работать только как клиент опишите его: он будет развернут в интрасети только в интрасети
- Каковы плюсы и минусы развертывания только php-приложения (со всем его сервером apache) в интрасети?
- В чем принципиальное различие между развертыванием php-приложения в среде интрасети и в Интернете? есть ли что-нибудь, что следует учитывать?
- Я знаю, что мы можем поместить Windows на флэш-диск или диск с ручкой. у меня есть какой-нибудь сервер автозапуска apache/php, который работает таким же образом?
3 answers
Настройте конфигурацию apache так, чтобы доступ к биллинговой системе был разрешен только внутренней сети с помощью mod_authz_host.
<Directory /billing-system/docroot>
Order Deny,Allow
Deny from all
Allow from *internal ip range*
</Directory>
См. http://httpd.apache.org/docs/2.1/mod/mod_authz_host.html#allow для получения дополнительной информации.
Просто разверните сервер WAMP (или LAMP) с вашим приложением на сервере внутри брандмауэра компании в их сети.
Затем пользователи получают доступ к вашему приложению через имя сервера. например, если имя машины "Elmo", то пользователи просто получают доступ к вашему приложению с помощью:
http://elmo/index.php
(предполагается, что на сервере на порту 80 по умолчанию запущено одно приложение)
Хитрость здесь в том, что если эта машина не подключена к Интернету, и вам нужно обновить ее извне, вы будете необходимо иметь какой-то другой доступ, например SFTP
Если интрасеть не подключена к Интернету, вы можете проверить это, отправив запрос на хорошо известный сайт, такой как ваш домен или google.com, и отказывается работать, если он ответит. Но такие интранеты становятся редкостью. Возможно, было бы проще ограничить максимальное количество пользователей (общее или одновременное) - проверка того, что приложение недоступно извне, может быть затруднена.
Меньше попыток взломать приложение (за брандмауэром компании) - это профи и обман, потому что тогда у вас может возникнуть соблазн уделять меньше внимания соображениям безопасности, потому что "ну, это внутреннее приложение!"
Никакой принципиальной разницы. В крупных организациях обычно используется какая-либо форма единого входа, и вам придется ее интегрировать; кроме того, конфигурация сервера и программное обеспечение могут быть ограничены этим.
XAMPP можно запустить с флешки, поэтому, если вы можете загрузить Windows оттуда и дать ей команду запустить XAMPP, это должно быть возможный.