我们遇到一个奇怪的问题,Google的网站管理员工具会提醒我们注意一些相当奇怪的网址。我们不知道这些是如何生成的,并且想要了解它们是如何创建的。它们的形式如下:
通常采用以下形式:
但asp.net MVC似乎处理垃圾(通过忽略它?)并且似乎(第一个)请求被正确路由。实际上,添加此垃圾时似乎所有路由都能正常工作。例如:
http://test.xyz/some/other/page
可以通过以下方式获得:
这对我来说意味着垃圾具有某种特殊含义。任何人都可以告诉我这里发生了什么。这些路线不应该匹配,但显然它们确实如此。发生了什么事?
修改
我们没有使用cookiless auth。这是web.config
的相关部分:
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" defaultUrl="~" slidingExpiration="true"
timeout="10080"/>
</authentication>
有趣的是,如果我使用标准用户代理连接到该网站:
Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Gecko/20100101 Firefox/5.0
,
使用其中一个垃圾填充的URL,然后请求得到尊重。
另一方面,如果我使用googlebot UA进行连接
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
我收到了400回复。
答案 0 :(得分:3)
查看网址时,首先想到的是您的网站使用的是不使用Cookie的身份验证。当我使用ASP.NET时,对于一个项目,我们使用了身份验证cookiless,框架将该令牌放在每个url之前。