代码之家  ›  专栏  ›  技术社区  ›  OrElse

ASP.NET。隐藏整个站点结构。有可能吗?

  •  1
  • OrElse  · 技术社区  · 15 年前

    我想其他人都会喜欢相反的,但我需要隐藏一个ASP.NET网站的“目录”结构。

    因此我想

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

      用户代理:* 不允许:/

    2. 使用Url重写来生成鬼路径

    3. 禁用目录浏览。(目录列表被拒绝…)

    4. 使用.ashx提供图像。

    5. 你可能建议的其他方式。

    换言之,我不想有人与“下载结构阅读器”,剥夺我的网站。

    如您所见,sekurity标记丢失:)

    P、 我不在乎搜索引擎优化

    2 回复  |  直到 15 年前
        1
  •  1
  •   ThiefMaster    15 年前

    像这样的站点下载程序 wget -r 无论如何都会有用的。它遵循链接,不关心目录(除了可以限制深度的事实)。如果你想排除像谷歌这样合法的爬虫程序,使用robots.txt是可以的。不过,wget和流氓爬虫并不在乎。

    唯一真正好的解决方案是重新申请登录(但这仍然不能保护你免受那些只使用wget下载你整个网站的人的攻击;他们只会提供登录信息/会话id)或者用恼人的CAPTCHAs(让合法用户很快就尿裤子)把你的内容弄乱,或者让整个网站使用JavaScript/AJAX来显示/加载内容。这使得用户体验更好(如果做得好的话),并且有效地锁定了大多数/所有爬虫程序。

        2
  •  2
  •   Richard H    15 年前

    如果你想让用户能够浏览你的网站,你显然需要到其他网页的链接。为了(试图)使爬虫程序难以访问这些链接,可以尝试用javascript动态呈现所有链接。这意味着一个没有像浏览器那样进行完全DOM渲染的机器人将无法提取链接。但是当然有人 能够 看看你的网站,并建立一些东西,如果他们是如此倾向于分析出链接。

    关于向用户和/或bot隐藏目录结构,则需要实现某种url重写:

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

    否则,它们将能够在浏览器中检查链接(无论是静态还是动态呈现),并确定目录结构。

    推荐文章