2

我正在检查我们的代码并做一些急需的房屋清洁工作。我们的许多错误都在处理范围不正确的变量。这样做,并通过错误日志/电子邮件,我注意到我们的大部分错误是由机器人/蜘蛛引起的。我不认为 Bots/Spiders 使用会话变量,(老实说我没有查过)但即使他们这样做/不这样做,是否有任何事情会导致 Bots/Spiders 导致应用程序产生更多错误。

我已经修复了一些蜘蛛/机器人传递错误/空 URL 变量的地方。我明白了,但就在正常的页面处理中,我看到,总体而言,来自机器人的错误多于来自人类的错误。我不是在责怪他们,(我知道这是我们的代码),但我很好奇为什么会这样。

我的假设是,我们处理非作用域变量的错误可能是由于对这些变量进行了线程处理。但机器人不应该能够影响这一点。还是应该?

4

1 回答 1

4

你已经搞定了大部分。大多数机器人按照机器人想要的方式做事。从不同的链接直接访问页面,一些机器人甚至提交带有垃圾的表单以查看另一侧的内容。他们访问页面的方式可能与您预期的不同,因此变量或对象可能不会以它们供人类使用的方式存在。

想象一下通过卧室窗户进入你的房子(登录屏幕后面的不安全入口)。

太好了,您可以在房子周围走动(浏览网站)。

直到警报响起,因为当您走进前门时它从未被禁用,因为您跳过了那一步(您没有登录)。

现在你的闹钟响了(管理员正在收到一封电子邮件)。

你不能从前门离开房子,因为门闩需要一把你没有的钥匙(你不能注销,因为你没有会话)。

因此,现在您尝试从后门离开,但看门狗不在,您必须处理 6 英尺的围栏(随机退出策略最终会导致更多错误)。

于 2013-01-22T18:31:12.403 回答