2010-11-15 23 views
1

我想所有其他人都想要相反,但我需要隱藏ASP.NET網站的「目錄」結構。ASP.NET。隱藏整個網站結構。可能嗎?

出於這個原因,我想的

  1. 使用如下的robots.txt ...

    用戶代理:* 不允許:/

  2. 使用URL重寫製作鬼路徑

  3. 禁用目錄瀏覽。 (目錄列表被拒絕...)

  4. 使用.ashx提供圖像。

  5. 其他您可能會建議的方法。

換句話說,我不喜歡有「下載結構閱讀器」的人,去掉我的網站。

正如您所看到的sekurity標記丟失:)

P.S.我不關心SEO

+0

澄清:您試圖阻止機器人抓取您的網站,但卻允許真正的訪問者瀏覽? – 2010-11-15 11:45:57

+0

@ajreal:我最後一次使用ASP與IIS有關! – OrElse 2010-11-15 11:46:43

+0

@Richard:我想阻止機器人爬行,但只允許真正的訪問者通過鏈接瀏覽我的網站。用戶不應該知道例如我有一個「/ images」目錄。 – OrElse 2010-11-15 11:49:40

回答

1

站點下載喜歡wget -r無論如何都會正常工作。它遵循鏈接並且不關心目錄(除了可以限制深度的事實外)。如果您想要排除Google之類的合法抓取工具,請使用robots.txt即可。 wget和流氓爬蟲不關心它。

唯一真正好的解決方案是重新登錄登錄(但仍不能保護那些只使用wget下載整個站點的用戶;他們只會提供登錄信息/會話id),或者使用令人討厭的CAPTCHA(快速盜取合法用戶的私人信息)或使整個網站使用JavaScript/AJAX來顯示/加載內容。這使得用戶體驗更好(如果正確完成)並有效地鎖定大多數/所有抓取工具。

+0

謝謝!順便說一下,你有一個偉大的用戶名! – OrElse 2010-11-15 11:51:16

+0

哈哈,我有這個用戶名十年了..我需要一個暱稱的第一個地方是關於Thief2遊戲的論壇 - 因爲我從來沒有改變它。 ;) – ThiefMaster 2010-11-15 12:41:28

2

如果您希望用戶能夠瀏覽您的網站,您顯然需要鏈接到其他網頁。爲了(嘗試)使這些鏈接難以抓取,您可以嘗試在JavaScript中動態呈現所有鏈接。這意味着一個機器人不會像瀏覽器那樣進行完整的DOM渲染,無法提取鏈接。然而當然有人可能會看看你的網站,並建立一些解析出的鏈接,如果他們如此傾向。

用方面,從用戶和/或機器人隱藏的目錄結構,然後是你將不得不實行某種形式的URL重寫:

Outbound: /assets/images/image.jpg -> /somecode.jpg 
Inbound: /somecode.jpg -> /assets/images/image.jpg 

否則他們將能夠檢查鏈接(無論是靜態或動態呈現)在他們的瀏覽器並確定目錄結構。