5

/#!在我的博客上定期收到请求的路径,我想知道为什么会这样(因为它与我博客上的任何 URL/资源都不匹配)。用户代理说它总是 IE7 浏览器请求这个但来自多个不同的 IP 地址。我正在尝试确定我是否可以忽略这一点,或者我是否需要对此做点什么。我特别想知道以下内容:

  • 它是某些 Web 浏览器/Web 服务器的某种特殊 URL 吗?
  • 它与特定的漏洞利用有关吗?

我可以忽略它吗?

如果它相关,则该站点托管在 Windows azure 中并在 MVC4 上运行。

4

2 回答 2

7

这是一个散列 URL。它们被一些 AJAX Web 应用程序使用,例如 Facebook 和 Twitter。Google 对它们进行了一些特殊处理,以使通常无法抓取的 AJAX 网站可以抓取。

但是,如果您的网站没有运行使用它们的应用程序,则您不应该看到它们。而且您绝对不应该在服务器端看到它们,因为重点是#URL 中 a后面的所有内容都是片段标识符,并且应该在从服务器请求 URL 之前由用户代理剥离。

编辑:如果我不得不猜测是什么在请求这样的 URL,我会说它可能是一些错误的机器人。它显然是在假装 IE 的事实表明它可能没有任何好处。也许它是某种垃圾邮件机器人。无论如何,这样的请求很可能是无害的,您可以忽略它们。如果它让你感觉更好,你总是可以设置一个重写规则来明确拒绝它们,比如:

RewriteRule \x23 - [F]

#这应该拒绝任何对包含403 Forbidden 错误字符的 URL 的请求。

于 2012-12-27T02:15:04.890 回答
2

好吧,#是一个有效的锚点,仅表示“页面”。你也可以做一个'!' 锚,例如

<!-- some html here -->
<a href="#!">Click me!</a>
<!-- lots more html -->
<div id="!">
   Wooaaaah!
</div>

所以我的猜测是你可以放心地忽略它......但这只是一个猜测;)

于 2012-12-27T02:15:55.520 回答