访问者使用不存在的URL

时间:2013-02-04 21:35:01

标签: url query-parameters

我今天有人通过以下链接访问我的网站:

www.example.com/pagename.php?_sm_byp=iVVVMsFFLsqWsDL4

有人可以向我解释这是如何工作的,因为我的实际网址以pagename.php结尾,而且我从未允许用户输入任何PHP查询,也从不拥有会话ID或类似内容。

1 个答案:

答案 0 :(得分:1)

这并不罕见。许多站点/服务器允许(或更确切地说,忽略)任意查询组件。

例如,您可以将?foo=bar附加到这些网址,并仍然获得HTTP状态200:

现在,因为它们在此链接,用户可能会访问它们,因此这些网址会显示在其日志中。除了手动附加这样的查询组件之外,它们还可以通过各种脚本添加,例如, tracking purposes或链接到您网页的第三方服务(...和sometimes their origin is unknown)。

如果您不希望您的URL使用任意查询组件,您可以配置后端/服务器,使其重定向到没有查询组件的URL,或者使用404或其他任何方式响应。

如果您继续允许此操作,但希望阻止机器人使用这些不必要的查询组件为您的网址编制索引,则可以使用canonical link relation指定网址的规范变体。