我正在为我的大学开发一个网站,用户可以在其中创建帐户并上传图片。图片是私密的,只有上传者才能看到。例如,就像一个云文件系统。
每个用户都有一个500MB的免费帐户。我使用Amazon S3存储图像,也就是说存储意味着成本。
如何避免机器人上传数百万MB?如何避免机器人创建数百万个新帐户并在不影响用户体验的情况下为每个帐户上传500MB?
一方面,我绝对不希望在注册表中加入CAPTCHA,因为它会对转换率产生负面影响。另一方面,我不想支付数千美元,因为机器人上传了数百万个虚拟图像。
有没有人知道Dropbox,Google Drive等是否受此影响(机器人上传的内容)?这似乎不是问题,因为我找不到任何关于它的东西。所有与垃圾邮件相关的问题,我只能在论坛中阅读有关垃这也很有道理。其他用户可以阅读论坛中的垃圾邮件。垃圾邮件或Google云端硬盘等服务中的垃圾邮件无人问津。尽管如此,我必须保护它以避免成本意外。
答案 0 :(得分:1)
据我所见,如果不使用CAPTCHA,可以这样做:
当然,足够智能的机器人可以解决所有这些问题。
对于更高级的解决方案,您可以尝试一些学习正常和异常使用模式的机器学习或AI,然后应用该信息来判断可能的滥用者。
答案 1 :(得分:1)
我建议:
AFAIK,Drupal开箱即用地嵌入这种控件或者不费力(并且没有编程)。
这不会解决您的所有问题,但实际上它会降低机器人漏洞利用的风险。
答案 2 :(得分:0)
正如您所说,您需要注册,有两点可以解决此问题 - 确保没有机器人注册和/或限制上传数量。
我个人会使用这两点。对于用户注册,请设计一个登录表单,用户必须在该表单中输入其电子邮件地址,向其发送包含链接的邮件,并在单击此链接后激活其帐户。或者让用户在注册时解决一个简单的数学问题。
对于第二点,您可以存储每个用户和时间的上传字节数。然后,您可以为每次允许的上传使用量设置配额,例如,您每小时上传的内容不得超过10MB。如果用户超过此限制超过n次,您可以停用其帐户。
并且:设置和警报和监控系统。例如,监控未激活用户的数量,监控上传量等,并在超过某个阈值时设置警报。
上述方法可能并不完美,可能不会阻止所有机器人,但它们至少会让机器人更难上传不需要的数据。这些方法也非常简单,因此您可以从项目开始,看看这是否真的是一个问题。如果你有机器人上传数据,你至少会收到警报,然后可以发明一个更好的解决方案。