Ошибка ASP.Net: «Невозможно использовать ведущий .. для выхода из верхнего каталога» - PullRequest
4 голосов
/ 08 октября 2008

Я вижу эту ошибку несколько раз в час на своей производственной площадке и не совсем уверен, как ее исправить. Я извлек исходный код и нигде в моем коде не использую "../" для генерации пути.

Мое приложение работает на IIS6 на Win2003 Server. Он использует URLRewriter.Net, чтобы позволить сайту иметь дружественные URL, и мне интересно, может ли это способствовать возникновению проблемы.

Я уже поискал в Google и нашел несколько возможностей, но ни одна из них не сработала для меня.

Я пытался создать новый файл App_Browser, чтобы заставить настройки tagwriter использовать определенный HtmlTextWriter, как это предлагается в одном из самых популярных решений, но это не помогло мне. Других вероятных решений я не видел.

Ответы [ 6 ]

3 голосов
/ 09 октября 2008

Вероятно, это связано с использованием «~ / что-то», возможно, в элементе управления Hyperlink. Когда физический файл находится на уровне каталога, отличном от дружественного URL-адреса, ASP.NET использует слишком много ../ в относительном URL-адресе, который он генерирует, вызывая эту ошибку. Если вы не можете просто использовать абсолютный URL вместо этого, я считаю, что вы можете использовать Page.ResolveUrl ("~ / foo / bar"), чтобы получить правильный относительный URL.

1 голос
/ 16 июня 2010

Просто установите для параметра Включить родительские пути значение True в настройках ASP на своем веб-сайте.

Это решило проблему для меня

0 голосов
/ 05 июня 2009

Мне удалось решить эту проблему, установив .NET 3.5 SP1.

0 голосов
/ 30 октября 2008

Вы уверены, что вызываете ошибку? Некоторые сценарии (Code Red / Nimda) перемещаются по Интернету в поисках URL-адреса, похожего на эту ошибку.

Это внутреннее или внешнее? Возможно ли, что ваша машина сканируется?

0 голосов
/ 09 октября 2008

Я бы дал вам еще один путь для перезаписи и посмотрел, может быть, есть путь, который содержит папку, которая либо не существует, либо удалена, либо находится вне веб-приложения. Можете ли вы опубликовать правило переписывания здесь?

0 голосов
/ 08 октября 2008

Используйте рефлектор, чтобы покопаться в коде URLRewriter.Net.

...