2010-04-12 236 views
4

每隔一段時間,我的asp.net應用程序中就會出現大約10-20個相同的錯誤。它總是相同的,我想知道是否有人試圖入侵(每月發生一次)。ASP.NET中的奇怪錯誤

來源:的System.Web

消息:文件 '/~/Default.aspx' 不存在。

用戶IP: 89.122.29.80

用戶的瀏覽器:未知0.0

用戶OS:未知

堆棧跟蹤:在 的System.Web.UI。 Util.CheckVirtualFileExists(VirtualPath virtualPath)at System.Web.Compilation.B uildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,布爾noBuild,布爾 allowCrossApp,布爾 allowBuildInPrecompile)在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext的 上下文,VirtualPath virtualPath, 布爾noBuild,布爾 allowCrossApp,布爾 allowBuildInPrecompile)在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath,HttpContext的上下文中, 布爾allowCrossApp,布爾 noAssert)在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath,類型requiredBaseType, HttpContext的上下文中,布爾 allowCrossApp,布爾noAssert)在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext的 上下文中,字符串的RequestType, VirtualPath virtualPath,字符串 physicalPath)在 的System.Web。 UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext的 上下文中,字符串的RequestType, VirtualPath virtualPath,字符串 physicalPath)在 System.Web.HttpApplication.MapHttpHandler(HttpContext的 上下文中,字符串的RequestType, VirtualPath路徑,字符串 pathTranslated,布爾useA ppConfig) 在 System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 一步,布爾completedSynchronously)

爲什麼地球上有人會試圖訪問「/~/Default.aspx」?

回答

1

如果您嘗試在頁面生命週期中將HyperLink控件的NavigateUrl設置得太晚,有時會發生這種情況。確保在生成相關Url之後,您不在代碼中創建超鏈接。

+0

看起來像我的RadMenu上的「NavigateURL」被設置錯誤...我會嘗試找到一種方法來解決它。基本上HTML是正確的,所以將網站導航到一般用戶是好的,但Javascript被搞砸了,任何試圖抓取基於JS的機器人都會被髮送到錯誤的頁面。 – 2010-04-12 16:25:06

0

也許是因爲機器人或爬蟲。

1

在任何流行良好的網站上,您會收到來自錯誤編寫的抓取工具,嚴重寫入的緩存服務器防病毒軟件和瀏覽器工具欄插件的大量404錯誤,因爲它們每次都會嘗試第二次猜測哪些URL會引導頁面前進。通常他們會誤解嵌入式Javascript,試圖找出它可能鏈接到的頁面。

但我從來沒有見過一個〜字符在裏面。這意味着你在頁面上有一個〜表示你在頁面某處出現了〜/ Default.aspx文字。你能找到有問題的頁面,並查看它的源代碼,看看它是否有某個地方?

如果您根據用戶代理改變頁面內容,您是否可以重放相同的請求並查看源代碼?

您是否對您的網站運行鏈接檢查器?