Блокировка веб-приложения работает только для интранета - PullRequest
2 голосов
/ 22 апреля 2010

Через неделю у меня будет работа по созданию php-веб-приложения, которое будет работать как биллинг. По согласованию клиента и моей команды веб-приложение будет развернуто только на их внутреннем сервере. Эта потребность возникла для меня несколько фундаментальных вопросов.

  1. как мы можем заблокировать веб-приложение, которое действительно будет работать только на внутреннем сервере, а не в интернете, как он спросил? Причиной этой необходимости, затраты на работу были сокращены в некоторой степени. поэтому будет лучше, если он будет работать только так, как его описал клиент: он будет развернут в интрасети только в интрасети
  2. Что за и против развертывать только приложение php (со всем его сервером apache) в интрасети?
  3. В чем принципиальная разница между развертыванием приложения php в среде интрасети и в Интернете? Есть ли что-то, что следует рассмотреть?
  4. Я знаю, что мы можем установить окна на флэш-диск или пен-диск. Есть ли какой-нибудь сервер автозапуска apache / php, который работает таким же образом?

Ответы [ 3 ]

3 голосов
/ 22 апреля 2010

Настройте конфигурацию 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.

1 голос
/ 22 апреля 2010
  1. Если интрасеть не подключена к Интернету, это можно проверить, отправив эхо-запрос на известный сайт, такой как ваш домен или google.com, и отказавшись работать, если он ответит. Но такие интранеты становятся редкостью. Возможно, было бы проще ограничить максимальное количество пользователей (всего или одновременно) - проверить, что приложение недоступно извне, может быть сложно.

  2. Меньше попыток взломать приложение (за брандмауэром компании) - это за и против, потому что тогда у вас может возникнуть соблазн уделять меньше внимания соображениям безопасности, потому что «ну, это внутреннее приложение!»

  3. Нет принципиальной разницы. В крупных организациях обычно используется какая-либо форма единого входа, и вам придется интегрировать ее; также конфигурация сервера и программное обеспечение могут быть ограничены IT.

  4. XAMPP можно запустить с флеш-накопителя, поэтому, если вы можете загрузить Windows оттуда и дать команду запустить XAMPP, это должно быть возможно.

1 голос
/ 22 апреля 2010

Просто разверните сервер WAMP (или LAMP) с приложением на сервере внутри брандмауэра компании в их сети.

Пользователи получают доступ к вашему приложению через имя сервера. например если имя машины «Elmo», то пользователи просто получают доступ к вашему приложению с помощью:

http://elmo/index.php

(предполагается, что одно приложение работает на сервере с портом по умолчанию 80)

Хитрость в том, что если этот аппарат не подключен к Интернету, и вам необходимо обновить его извне, вам потребуется другой доступ, например SFTP

...