3

我们即将开始使用 ImageResizer ( http://imageresizing.net/ ) 并且我们正在使用 DiskCache 插件。我们担心创建数百万个文件并导致存储问题很容易。

我找不到所有配置选项的当前详细说明,有些看起来可能是我们想要更改默认值的内容(尽管有警告)(即 subfolders="32" targetItemsPerFolder="400" maximumItemsPerFolder=" 1000" ) 但我不知道它们如何或是否一起工作。这里提到了一些与“子文件夹”相关的配置:http: //imageresizing.net/plugins/diskcache但我不确定使用情况或未提及的其他设置。

有没有办法限制创建的文件数量?当达到这个限制时会发生什么?我正在考虑一个脚本场景,其中有人使用不同的指令请求所有文件,从而创建数百万个文件......那么当这个限制被反复击中时会发生什么?

4

1 回答 1

1

子文件夹 x targetItemsPerFolder = 软限制

32 x 400 = 12,800

子文件夹 x maximumItemsPerFolder = 硬限制

32 x 1,000 = 32,000

除非所有缓存的文件都被“积极使用”,否则会强制执行软限制。 无论情况如何,都会强制执行硬限制。如果要增加缓存的大小,请增加subfolders而不是其他值;它们已经针对 NTFS 文件系统上的最佳性能进行了调整。

设置autoClean=false为禁用后台缓存清理。

即使禁用了 autoClean,使用压缩图像填充存储空间也是运行 (D)DOS 攻击的一种非常低效的方法。它也非常容易以多种方式缓解 -通过标准 (D)DOS 预防方法,仅使用 CloudFront 之类的 CDN,或者将其放入启用限制的自己的应用程序池中。ImageResizer 无需在您的应用程序中运行;如果您使用的是 URL API,它总是可以被外部化。

如果您的网站每天都会吸引有针对性的 (D)DOS 攻击,您可以考虑使用哈希对所有图像 URL 进行签名 - IE,如果 URL 未出现在 HTML 中,则不会提供。EncryptedPlugin(测试版,未记录,但包含在下载中)可以为您执行此操作,但除非您 实际看到有针对性的攻击,否则要这样做。会很痛苦,没有收获。

知道有很多可用的缓解选项。如果该网站被认为是有针对性的攻击的高风险,请为修改图像 URL 留出一条通道(通过辅助方法或其他方法进行漏斗)。这将确保您可以利用本文中提到的任何缓解选项。

但是,解决一般问题的更好方法是购买防火墙或使用具有良好 IPS 的托管公司。

于 2013-07-22T17:04:31.170 回答