【问题标题】:Strange error in ASP.NETASP.NET 中的奇怪错误
【发布时间】:2011-02-06 20:54:28
【问题描述】:

每隔一段时间,我的 asp.net 应用程序就会出现大约 10 到 20 个相同的错误。它总是一样的,我想知道是否有人试图入侵(大约每月发生一次)。

来源: System.Web

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

用户IP: 89.122.29.80

用户浏览器:未知 0.0

用户操作系统:未知

堆栈跟踪: at System.Web.UI.Util.CheckVirtualFileExists(虚拟路径 虚拟路径)在 System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(虚拟路径 virtualPath,布尔值 noBuild,布尔值 allowCrossApp,布尔值 allowBuildInPrecompile) 在 System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext 上下文,VirtualPath virtualPath, 布尔 noBuild,布尔 allowCrossApp,布尔值 allowBuildInPrecompile) 在 System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(虚拟路径 virtualPath,HttpContext 上下文, 布尔allowCrossApp,布尔 noAssert) 在 System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, 类型 requiredBaseType, HttpContext 上下文,布尔值 allowCrossApp,布尔 noAssert)在 System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext 上下文,字符串请求类型, VirtualPath 虚拟路径,字符串 物理路径)在 System.Web.UI.PageHandlerFactory.System.Web.IHttpHandlerFactory2.GetHandler(HttpContext 上下文,字符串请求类型, VirtualPath 虚拟路径,字符串 物理路径)在 System.Web.HttpApplication.MapHttpHandler(HttpContext 上下文,字符串请求类型, VirtualPath 路径,字符串 pathTranslated, Boolean useAppConfig) 在 System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() 在 System.Web.HttpApplication.ExecuteStep(IExecutionStep 步骤,布尔完成同步)

为什么会有人试图访问“/~/Default.aspx”?

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    如果您在页面生命周期的后期尝试在 HyperLink 控件上设置 NavigateUrl,有时会发生这种情况。确保在生成相关 Url 后,您没有在后面的代码中创建超链接。

    【讨论】:

    • 看起来我的 RadMenu 上的“NavigateURL”设置错误……我将尝试找到解决方法。基本上 HTML 是正确的,因此将站点导航给普通用户就可以了,但是 Javascript 搞砸了,任何试图基于 JS 进行爬取的机器人都会被发送到错误的页面。
    【解决方案2】:

    在任何流量良好的网站上,您都会收到大量 404 错误,这些错误来自编写不当的爬虫、编写不当的缓存服务器防病毒软件和浏览器工具栏插件,因为它们每个都试图猜测哪些 URL 会引出页面。他们通常会误解嵌入的 Javascript,试图找出它可能链接到的页面。

    但我从未见过其中有 ~ 字符的。这意味着您在页面上有一个 ~ ,这意味着您在页面的某处出现了一个文字 ~/Default.aspx。你能找到有问题的页面并查看它的源代码,看看上面是否有~吗?

    如果根据用户代理改变页面内容,是否可以重放相同的请求并查看源代码?

    您是否对您的网站运行过链接检查器?

    【讨论】:

      【解决方案3】:

      可能是机器人的原因,也可能是爬虫的原因。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-05
        • 1970-01-01
        • 2012-12-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多