我正在查看我们的代码并做一些急需的房屋清洁工作。我们的许多错误都是处理未正确确定范围的变量。在这样做,并通过错误日志/电子邮件,我注意到我们的大多数错误是由Bots / Spiders引起的。我不认为Bots / Spiders使用会话变量,(老实说,我没有查找过)但是即使它们不这样做,是否还有什么会导致Bots / Spiders导致应用程序产生更多错误。
我修复了一些蜘蛛/机器人在坏/空URL变量中传递的地方。我明白了,但就正常的网页处理而言,从整体而言,我认为机器人的错误多于人类。我不是在谴责他们,(我知道这是我们的代码),但我很好奇为什么会这样。
我的假设是我们处理非范围变量的错误可能导致与这些变量进行线程化。但机器人不应该影响那个。还是应该呢?
答案 0 :(得分:4)
你已经掌握了大部分内容。大多数机器人都像机器人想要的那样做事情。直接访问页面,从不同的链接,一些机器人甚至提交垃圾形式,以查看另一方面的内容。他们可能以不同于您期望的方式访问页面,因此变量或对象可能不会以人类消费的方式存在。
想象一下,通过卧室窗口(登录屏幕后面的一个不安全的条目)进入你的房子。
很棒,你可以在房子里走动(浏览网站)。
直到闹钟响起,因为当你走进前门时它从未被禁用,因为你跳过了那一步(你没有登录)。
现在您的闹钟响起(管理员正在收到电子邮件)。
你不能通过前门离开房子,因为锁闩需要你没有的内部钥匙(你不能退出,因为你没有会话)。
所以现在你试图离开后门,但是护卫犬已经出局了,你必须处理一个6'围栏(随机退出策略最终会导致更多错误)。