【发布时间】:2012-06-25 03:36:34
【问题描述】:
我正在为一个客户开发一项功能,让用户自愿在线参加一项重要的测试。测试很困难,用户会非常有动力去做好(想想 SAT 或 GRE 等)......所以也有很高的作弊动机。显然,有人通过网络摄像头虚拟监控应试者的 3rd 方服务,但它们确实很昂贵,而且我们没有足够的预算。我们仍然需要尽可能地让用户难以玩弄系统。我们怀疑他们可能会尝试的一些事情是:
让其他人为他们参加考试(捏人)。
使用不同的配置文件多次参加测试以进行练习 并获得不公平的优势。
与朋友一起或在与朋友联系时参加考试 告诉他们答案。
问题的顺序会改变,答案的顺序也会改变。测试将是定时的,并且是“打开书本”格式,所以我们并不真正担心用户在网上查找内容,但我们不能让他们共享屏幕并让其他人帮助他们。 因此,此时的主要关注点是确保用户确实是他们所说的人(而不是其他人)。
以下是我们正在考虑的一些安全措施:
要求用户的设备有一个网络摄像头,我们将在测试期间激活它并记录/拍摄用户(当然要征得用户的同意)。
要求用户验证任意银行存款金额(可能通过 PayPal)。没有什么可以阻止他们开设多个银行账户,但至少这是一个很大的麻烦。
非常可怕的使用条款,如果用户被发现作弊,就会威胁到法律诉讼。
问题:我们可以/应该采取任何其他措施来确保我们的测试安全且结果可靠吗?
澄清:我们意识到,只要有足够的资源和决心,任何安全系统最终都可能被打败。这个问题的目标不是找到一个神奇的、无与伦比的解决方案,而是想办法提高赌注,使 大多数 用户不值得作弊。本着这种精神,我更喜欢关注可以做什么而不是不能做什么的答案。
【问题讨论】:
-
我认为古老的格言“锁着的门只会阻止诚实的人”在这里发挥了作用 - 作为曾经管理在线测试系统的人,我可以告诉你,你将无法做到阻止所有人。您正在采取的措施——网络摄像头、银行账户(我会使用 SSN)和良好的法律意识将大大有助于让人们保持诚实。你只需要接受,总会有人想办法绕过你为防止他们作弊而采取的任何措施。
-
我们完全理解,如果他们足够绝望,我们无法阻止每个人,我会更新问题以澄清这一点,但项目的完整性取决于大多数用户无法轻易作弊。所以我希望对我们可以做什么有所了解。
-
我认为银行账户(单一实体验证)和强烈的法律警告是你最好的选择。网络摄像头可能存在一些法律问题,但也可能是一个非常可行的选择。我做过的另一件大事是轮换题库以保持测试的变化——即使只是改变几个单词也会让人们陷入困境。
-
确实!我忘了提到我们也在做所有这些标准措施:轮换问题、答案、多种变化等。谢谢。此外,需要明确的是,我们将获得用户对所有这些的同意。测试完全是可选的。
-
听上去你已经被很好地覆盖了,至少就你可以做的而言。我一直喜欢的另一件事是向他们显示他们的 IP 地址和地理位置以及他们在系统中的时间 - 感觉就像一种让学生感觉好像他们被监视的崇高方式。