PHP:反洪水(蜜罐)

时间:2017-07-20 19:25:19

标签: php flooding

我有一个上传表格,我们在内部使用,以允许客户上传他们的宽带设置的照片(作为诊断检查的辅助),我目前正在考虑安全问题。

如果在X分钟解决方案中超过5次上传,我最初想到了一个精心设计的IP禁令,但正如我想的更多 - 我不需要它。蜜罐技术仍然有效吗? (通过CSS输入隐藏表单,如果有条目则作为垃圾邮件处理)。

您对尝试上传虚假图片的用户的最佳方式有什么看法,我想到了一个简单的IP禁令,这不会让机器人因为他们每次攻击都会改变他们的IP,但它会停止大多数普通用户。

请记住,上传的照片对用户不可见,只有我们的员工在登录脚本后面才能看到。我不想在这么简单的系统上过度安全 - 但我不想让普通用户轻易搞砸我们。

1 个答案:

答案 0 :(得分:1)

虽然这是一个高度自以为是的问题,因此它不一定是StackOverflow的理想选择,但我会就此提出我的个人意见/建议:

我会推荐临时IP块和Google的reCAPTCHA的组合(正如Samuel在评论中提到的那样)。虽然这对用户来说是一个障碍,但它也是防止自动垃圾邮件和自动上传的最有效方法之一。结合IP阻止,这可以防止垃圾邮件机器人和恶意/恼人的人类用户,他们只想通过上传大量图像来淹没您的网站。

另外,请记住,reCAPTCHA已经有很多方法可以输入颗粒状的字母和数字。如今,用户只需单击一个复选框,偶尔选择一些包含某个项目/对象的图像。它仍然是一个障碍,但对于一个人类用户来说,这需要不超过5-15秒(如果他们必须选择图像),它将阻止几乎任何自动机器人。

此外,我会建议不要使用蜜罐技术。隐藏字段的操作原理是机器人仍然会填充隐藏字段,因为它不会运行JavaScript,但这已经发生了很大变化。虽然仍有一些机器人可能会失败,但可以轻松编写机器人,这些机器人可以在Web浏览器上运行(它将执行JavaScript以隐藏“honeypot”字段),并且只与页面上的可见元素进行交互。因此,这可能会阻止一小部分机器人,但我现在怀疑它的有效性。

当然,如上所述,这是高度自以为是,因此您的里程可能会有所不同,其他用户可能会有不同的意见。