Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Настройки IIS / 20 сообщений из 20, страница 1 из 1
11.08.2005, 14:30
    #33210555
APM
APM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Подскажите как сделать так чтоб среда asp.net обрабатывала не только расширения aspx но и url такого вида http://server/dir1/
...
Рейтинг: 0 / 0
11.08.2005, 15:16
    #33210716
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Самый простой способ - в настройках IIS прописать обработчиком ошибок 403.14, 404 и 405 требуемый aspx-файл. Правда будут проблемы с преобразованием входных параметров, т.к. в этом случае они несколько в кривом виде приходят.
...
Рейтинг: 0 / 0
11.08.2005, 15:19
    #33210725
APM
APM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
не очень это похоже на простой способ.
Я хочу в apllication_beginrequest поймать обращение к http/server/dir1
и отредиректить куда надо
...
Рейтинг: 0 / 0
11.08.2005, 15:22
    #33210735
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
4ARM почему не простой ?
пишете страницу 404.html
в настройках IIS для своего каталога указываете для 404 ошибки эту страницу(404.html). Иначе запросы типа http://localhost/myweb/erunda/ вы не пойматете, так как .net ловит только свои страницы, типа erunda.aspx.
...
Рейтинг: 0 / 0
11.08.2005, 15:47
    #33210823
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Хорошо, не нравится простой способ - пишите ISAPI-фильтр для этого :).
...
Рейтинг: 0 / 0
11.08.2005, 15:48
    #33210826
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Да, 404 ошибки мало будет.
Если это каталог, т.е. "/" в конце, то будет генериться
...
Рейтинг: 0 / 0
11.08.2005, 15:49
    #33210831
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
сорри, отправилось случайно...

...то будет генериться 403.14, а если метод POST, то 405 ошибка.
...
Рейтинг: 0 / 0
11.08.2005, 16:42
    #33211048
APM
APM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
big-duke Иначе запросы типа http://localhost/myweb/erunda/ вы не пойматете, так как .net ловит только свои страницы, типа erunda.aspx.

Вот об этом то и вопрос. Я уже нашел где прописать новое расширение для asp.net например .ahtm.
А 404 попросту работать не будет если dir1 существует. Да и потом как с этими кодами ошибок ловить параметры post и get запросов приходящих от форм.
...
Рейтинг: 0 / 0
11.08.2005, 17:02
    #33211145
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Dir1 или не должен существовать или если у него запрещен directory listing, то даже если он существует, можно этот же обработчик на 403.14 ошибку повесить.
POST ловится точно также, GET немного извращается, из имени первого параметра нужно вырезать лишнее. Выведите на тестовой странице список параметров и все будет ясно. В общем есть немного мороки, но все не так страшно.
Другими способами у вас ничего не выйдет. Или ловить ошибку обработчиком или перенаправлять запрос до того, как он дойдет до IIS, т.е. ISAPI-фильтром.
Первый вариант гораздо проще.
Ну или купите готовый коммерческий продукт такого типа.
...
Рейтинг: 0 / 0
11.08.2005, 19:59
    #33211560
APM
APM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Чтож попробую через ошибки, но вера в чудо еще жива.
...
Рейтинг: 0 / 0
11.08.2005, 20:02
    #33211566
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
APM
А 404 попросту работать не будет если dir1 существует.
если поставите в настройках iis для своего каталога - то будет.
Вы попробовали ? Сам ставил минут 5 , перед этим еще 5 минут писал 404.html.
Или вам нужна сложная обработка ? Типа запрос неверного URL и т.д. ?
...
Рейтинг: 0 / 0
11.08.2005, 20:26
    #33211589
APM
APM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
big-duke
если поставите в настройках iis для своего каталога - то будет.
Вы попробовали ?
Извините, я не совсем понял.

Нашел себе утешение http://www.isapirewrite.com/
хотя очень хотелось обойтись штатными средствами.

Еще раз попдробнее о проблеме.
Я пробую сделать что то вроде http://contest2005.gotdotnet.ru/Request/Tools/UtilitiesLib/183190.aspx

но не хочется url типа /users/1.aspx а хочется типа /users/1/ или users/1

не нашел возможности заставить среду asp.net парсить файлы вне зависимости от расширения, поэтому мой редиректор не работает.

Попробовал уже создать файл 404.aspx
и в нем
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<script runat="server">
    void Page_Load(Object sender, EventArgs e) {
	
  Rewriter.Rewrite();
	

	}
</script>

Почему то не работает.
Если вместо Rewriter.Rewrite(); написать Response.Redirect("my.aspx"); то переадресация идет.

Предполагаю это связано с тем что 404.aspx запускается вне контекста приложения asp.net и поэтому rewriter не "видит" правила из webconfig и не получает HttpContext.Current.Request.Path;
...
Рейтинг: 0 / 0
11.08.2005, 20:29
    #33211591
APM
APM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Был не прав.
rewriter видит web.config но не "видит" что на него пришли со страницы server/dir1/ а видит что на него пришли со страницы /server/404.aspx
что меня не устраивает.

Опять ломаю голову...
...
Рейтинг: 0 / 0
12.08.2005, 09:58
    #33212120
big-duke
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
APM
Извините, я не совсем понял.

отдайте эту заботу IIS и не ломайте голову.
...
Рейтинг: 0 / 0
18.08.2005, 11:29
    #33222523
marina milanina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Обработчик 404 ошибки для редиректа использовать плохо.
Дело в том, что рушится вся статистика посещений, поскольку в логи IIS записывает url вида /default404.aspx?404;настоящий_урл_запрошенный пользователем.



Есть другой способ: надо настроить IIS на обработку любых запросов библиотекой .NET.

Настройки в IIS 5 и IIS 6 разные. Какой версии ваш IIS?
...
Рейтинг: 0 / 0
18.08.2005, 11:34
    #33222547
marina milanina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Вот настройки для IIS6

Менеджер IIS - > WebApplication1 ->Properties -> Configuration
Около надписи Wildcard application maps жмете кнопку Insert
В поле Executable прописываете адрес библиотеки .NET, например,
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll
Снимаете значок Verify that file exists,
Жмете ОК, и еще раз OK, и еще раз OK

Что надо учесть: желательно снять обработку aspnet_isapi со всех папочек с картинками, css-ками и флешками (чтобы не загружать сервер). Для этого делаете вложенные папочки приложениями (на уровне IIS) и снимаете обработку "всего" библиотекой .NET
...
Рейтинг: 0 / 0
18.08.2005, 14:47
    #33223244
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
Проблема больше не в логах, а в том, что в приложение url тоже приходит такой кривой, соответственно имя первого параметра GET-запроса будет 404;настоящий_урл_запрошенный пользователем. Она тоже решаемая, хотя и добавляет головной боли.

В принципе способ с обработчиком на типы файлов довольно здравый, но проблем с ним примерно столько же, сколько и с обработчиком ошибок.
1. Как правило, на коммерческих хостингах есть возможность перемапить обработчик ошибок, а вот с обработчиком типов файлов так не получится.
2. Действительно, нужно не забыть убрать маппинг с каталогов, в которых лежит все статическое (а если статическое вперемешку с требующим обработки?).
3. Если каталог существует, то обращение к нему, например /dir1, приведет или к выводу содержимого или к ошибке, а не к перехвату.

Еще один способ, устраняющий большую часть проблем - это использовать готовый ISAPI-фильтр, коих коммерческих навалом. Есть и бесплатные, например здесь и здесь есть бесплатная версия.
...
Рейтинг: 0 / 0
18.08.2005, 15:06
    #33223312
marina milanina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
2Vladich:
кстати интересный факт связанный с использованием обработчика 404
Недавно пришлось проводить предварительный аудит производительности весьма крупного и весьма посещаемого ресурса.

Выяснилось что 20% запросов идут к несуществующему .gif файлику, но поскольку для редиректа используется 404 обработчик, то каждый из таких запросов запускал обработчик.
А в обработчике был цикл по 30 достаточно сложным регулярным выражениям.

В результате улетало в трубу примерно 10% ресурсов сервера ;)

Так что в варианте с обработчиком тоже стоит отключать его на директориях со статикой.
...
Рейтинг: 0 / 0
18.08.2005, 16:00
    #33223483
VladiCh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
marina milanina
Выяснилось что 20% запросов идут к несуществующему .gif файлику, но поскольку для редиректа используется 404 обработчик, то каждый из таких запросов запускал обработчик.
А в обработчике был цикл по 30 достаточно сложным регулярным выражениям.


Тоже сталкивался с такой проблемой. У нас она решалась следующим образом - во-первых, резались расширения - gif, jpg, png, swf и т.п.
Во-вторых, в отдельный лог скидывались имена файлов, которые не найдены и не соответствуют ни одному разделу - такая информация довольно оперативно обнаруживалась.
От этой проблемы все равно полностью не избавиться, можно только свести ее к минимуму. Преднамеренными действиями можно все равно будет нагрузить сервер по самое не могу.
Например в случае обработчика на все файлы - если злоумышленник понаставил кучу кривых ссылок на картинки (например преднамеренно на несуществующие картинки в каталоге, на котором установлен обработчик)
А цикл(!) по 30(!) сложным регулярным выражениям - это не перебор? :)
...
Рейтинг: 0 / 0
18.08.2005, 16:02
    #33223492
marina milanina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки IIS
2Vladich - не знаю, не мы разрабатывали тот сайт
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Настройки IIS / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]