Есть ли способ отфильтровать определенные вещи на страницах, обслуживаемых IIS? - PullRequest
1 голос
/ 19 марта 2010

Это мой первый пост здесь, так что имейте это в виду ...

Я постараюсь быть коротким и правильно определю проблему. У нас есть приложение ASP.NET 2 (пакет электронной коммерции), работающее на IIS (Windows Server 2003). Страницы главной страницы используют простой HTTP (без SSL), но весь процесс оформления заказа и страница корзины покупок используют SSL (HTTPS). Теперь проблема в том, что заголовок сайта находится в файле шаблона, и внутри него есть простой HTML-тег 'img', вызывающий изображение с жестко запрограммированной частью "http://"" ... Этот заголовок появляется на абсолютно на каждой странице (включая страницы https), и из-за ее небезопасного тега изображения в IE появляется предупреждение на каждом этапе процесса оформления заказа ...

Теперь проблема: к действующему приложению нельзя прикоснуться каким-либо образом (в шаблон нельзя внести какие-либо изменения (поэтому просто изменить «http://" на« // »нельзя), IIS не может быть перезапущен, и пул веб-сайта / приложения не может быть перезапущен.) Есть ли в мире какой-либо способ (может быть, плагин для IIS или настройка где-то), что я могу отфильтровать страницы непосредственно перед их обслуживанием, чтобы заменить 'image' на 'image 'в конечном HTML? Возможно, с помощью регулярного выражения или чего-то еще?

Спасибо всем заранее.

Ответы [ 2 ]

0 голосов
/ 19 марта 2010

Если бы у вас была F5 BigIP (http://www.f5.com/products/big-ip/) перед вашей веб-фермой), вы могли бы довольно легко переписать запросы и ответы, чтобы решить проблему. Но это не было бы дешево!

0 голосов
/ 19 марта 2010

Просто предположение, но вы можете добавить нижний колонтитул в IIS и попытаться что-то сделать с помощью JavaScript, jQuery или чего-то еще в нижнем колонтитуле ...

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/e27f918e-89a9-45a8-8604-2ad2ded09d64.mspx?mfr=true

Проблема в том, что я почти уверен, что на тот момент вы уже сделали запрос на загрузку изображения, которое вас обидело.

Вы можете отключить отображение изображения в своем CSS, а затем использовать jQuery (например), чтобы заменить тег img, соответствующий http: //, тегом https: // или /image.jpg или чем-то другим.

См .: api.jquery.com/find/

Чтобы полностью заменить HTML-код до того, как он будет запущен браузером, вам понадобится HTTP-обработчик (.NET) ... который здесь кажется сумасшедшим излишним.

Меня немного смущает, как вы можете вносить все эти изменения в МКС или редактировать содержимое шаблона под нагрузкой, но вы не можете просто пойти и отредактировать шаблон! :)

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