我正在开发一个图片库网站,该网站将保存免版税图片以供下载。我想减慢使用机器人或经常下载的任何人的速度,因此我有每日文件限制,并将变量 sleep 合并到传递文件的脚本中。我通过将最后一次下载的完成时间写入数据库,然后检查下一次下载开始时的经过时间来做到这一点。如果那小于 N 秒,那么我将下载延迟 M 秒,连续违规时将 M 加倍。在脚本达到服务器的执行时间限制之前,它可以正常工作。
我的托管公司确认睡眠时间计入执行时间。
我在开发阶段是否过于谨慎?
关于如何在不使用 php sleep 的情况下检测和减慢滥用网站的用户的任何建议?