Модифицировать ответ html с веб-сервера, прежде чем он достигнет браузера с помощью плагина веб-сервера? - PullRequest
0 голосов
/ 05 февраля 2010

Вопрос так же прост, как и заголовок. У меня есть веб-приложение (я понятия не имею, на какой технологии он был построен или на каком сервере приложений он работает). Однако я знаю, что это веб-приложение обслуживается сервером Apache / IIS Server / IBM Http Server. Теперь я хотел бы иметь плагин / модуль / надстройку на стороне веб-сервера, который будет анализировать / усекать / вырезать / пересматривать HTTP-ответ (на основе шаблона запрошенного URL) и маску (encrypt / shuffle /) заменить) набор полей в этом ответе на основе различных параметров (разрешения LDAP пользователя в интрасети / геолокация пользователя в Интернете и т. д.) и отправить измененный ответ обратно пользователю.

Итак, есть ли простой ответ на создание таких плагинов / модулей / дополнений? Насколько осуществим этот подход создания дополнительного программного обеспечения на веб-сервере, когда вы хотите замаскировать конфиденциальную информацию в веб-приложении без изменения кода веб-приложения? Есть ли инструменты, которые помогут вам сделать это для Apache?

И, наконец, действительно ли это просто сумасшедшая попытка?!

Ответы [ 2 ]

1 голос
/ 05 февраля 2010

Самый простой способ - добавить плагин с помощью контейнера веб-приложения. Например, если это Tomcat, вы можете добавить фильтр или клапан.

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

Если ничего не помогает, вы всегда можете обернуть весь сервер в обратный прокси. Все запросы будут проходить через ваш прокси, и это даст вам возможность изменить запросы и ответы.

1 голос
/ 05 февраля 2010

Каждый веб-сервер будет делать это по-своему.

Универсальной архитектуры плагинов для веб-серверов не существует.

В IIS вы должны написать HTTP-обработчик или HTTP-модуль или, возможно, ISAPI Filter . Вы также можете напрямую взаимодействовать с http-ответом, используя объект Response , предоставляемый HttpContext .

В apache есть разные модули, которые могут делать то, что вы хотите (например, mod_headers ).

Я ничего не знаю о WebSphere, но я уверен, что он также имеет аналогичные механизмы.

То, что вы спрашиваете, требуется большинством веб-приложений, поэтому может быть встроенным или очень простым в выполнении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...