2012-12-27 60 views
5

我得到了定期在我的博客上請求的路徑/#!,我想知道這是爲什麼(因爲它與我的博客上的任何URL /資源不匹配)。用戶代理說它總是IE7瀏覽器,它請求這個,但來自多個不同的IP地址。我試圖解決這個問題,如果我可以忽略這個問題,或者我需要做些什麼。 我特別想知道以下內容:是網址路徑'/#!'特殊還是利用?

  • 它是某種特定的網址,用於某些網頁瀏覽器/網絡服務器嗎?
  • 它連接到特定的漏洞嗎?

我可以忽略它嗎?

如果它的相關網站託管在Windows Azure中並運行在MVC4上。

回答

7

這是一個hash-bang URL。他們被一些AJAX網絡應用程序使用,如Facebook和Twitter。谷歌有一些special treatment他們,使通常無法抓取的AJAX站點可抓取。

但是,如果您的網站沒有運行使用它們的應用程序,則不應該看到它們。而且你絕對不應該在服務器端看到它們,因爲整個觀點是,在URL中的#之後的所有內容都是fragment identifier,並且在從服務器請求URL之前應該由用戶代理剝離。

編輯:如果我不得不猜測是什麼請求這樣的URL,我會說它可能是一些越野車殭屍。顯然假裝成IE的事實表明它可能不適合任何事情;也許這是某種形式的垃圾郵件。無論如何,這些請求很可能是無害的,您可以忽略它們。如果它讓你感覺更好,你總是可以建立一個重寫規則明確地拒絕他們,是這樣的:

RewriteRule \x23 - [F] 

這應該拒絕包含#字符一個403 Forbidden錯誤的網址的任何請求。

+0

是啊,這使得很多的感覺,我在爲什麼這個正在從要求很困惑服務器雖然。可能與IE7和我運行的插件之一有關的特定問題(twitter,google +和disqus,可能是後者) –

2

那麼,#是一個有效的錨點,只是「頁面」。你也可以做一個'!'錨,例如

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

所以我的猜測是,你可以放心地忽略它...但是這只是一個猜測;)

相關問題