为什么不允许机器人会话ID?

时间:2012-09-25 16:49:17

标签: security session e-commerce bots

我正在尝试编写一个脚本,让我能够识别出试图充斥我的oscommerce网站的机器人,但是有些机器人经常更改他们的IP,因此我无法真正使用IP来禁止它们。

我在想如果我为机器人启用会话,我可以使用会话ID来阻止机器人。

我对此做了一些研究,发现不建议启用机器人会话,但我仍然不确定为什么?

3 个答案:

答案 0 :(得分:3)

允许机器人进行会话的问题在于,恶意僵尸程序在某些情况下不会在其在您的网站上抓取的网页上维持Cookie状态。因此,机器人在您的网站上每次点击都会生成一个新会话。

答案 1 :(得分:2)

大多数机器人只会忽略会话ID,因为他们知道它并不是URL的一部分。否则他们必须索引像index.php?sid = ABC,index.php?sid = BBC,index.php?sid = CBC等页面。由于他们知道这是同一页面,他们将忽略会话ID。

为什么不根据user_agent阻止机器人?除了ip地址之外,不能使用user_agent识别自己的机器人不能被阻止。

答案 2 :(得分:1)

这是我找到的东西 -

  1. 搜索机器人也可能会获得会话ID,并且可能会将同一页面编入索引数百次或更多时间,因为大多数机器人都不会保留其Cookie状态。这将意味着重复的内容索引并可能严重影响我们的搜索引擎排名。

  2. 因为bot在设计上会忽略cookie标头,所以它不会在每个后续请求中发回确认。实际上,机器人的每个请求都在创建一个新会话。大型站点上的攻击型僵尸程序可以创建数百甚至数千个虚拟会话,占用内存空间直到它们过期