我正在为客户开发一项功能,在该功能中,用户自愿在线进行重要测试。测试很困难,用户会非常有动力去做好(想想 SAT 或 GRE 等)......所以也有很高的作弊动机。显然有 3rd 方服务,其中人工通过网络摄像头虚拟监控应试者,但它们非常昂贵,而且我们没有足够的预算。我们仍然需要尽可能地让用户难以玩弄系统。我们怀疑他们可能会尝试的一些事情是:
让其他人为他们参加考试(一个捏打者)。
使用不同的配置文件多次参加测试以练习并获得不公平的优势。
与朋友一起参加考试,或者在与朋友联系时告诉他们答案。
问题顺序会改变,答案的顺序也会改变。测试将是定时的,并且是“打开书本”格式,所以我们并不真正担心用户在网上查找内容,但我们不能让他们共享他们的屏幕并让其他人帮助他们。因此,此时的主要关注点是确保用户实际上是他们所说的人(而不是其他人)。
以下是我们正在考虑的一些安全措施:
要求用户的设备有一个网络摄像头,我们将激活它并在测试期间记录/拍摄用户(当然要征得用户的同意)。
要求用户验证任意银行存款金额(可能通过 PayPal)。没有什么可以阻止他们开设多个银行账户,但至少这是一个很大的麻烦。
真正可怕的使用条款,如果用户被发现作弊,就会威胁到法律诉讼。
问题:我们可以/应该采取任何其他措施来确保我们的测试安全且结果可靠吗?
澄清:我们意识到,只要有足够的资源和决心,任何安全系统最终都可能被打败。这个问题的目标不是找到一个神奇的无与伦比的解决方案,而是想办法提高赌注,让大多数用户不值得作弊。本着这种精神,我更喜欢关注什么可以做而不是什么不能做的答案。