模板文件的验证规则:文件大小限制的分析
1、参考 Shopify 后台的模板源码编辑,当上传一个大于 50 MB 的文件时,响应 413 Request Entity Too Large。这应该是 Nginx 的 server 中:client_max_body_size 50M 的设置所限制。如图1
2、当上传一个 48.5 MB 的 css 文件时,耗时 2 分钟,上传成功,响应 200。如图2
3、当新增或编辑一个 368 KB 的 liquid、json 文件时,响应 422。模板内容超出 256 KB 的限制。如图3
4、当在 Assets 下新增一个空白文件 1.css.liquid 后,再编辑时,添加内容大小为 1.81 MB 。保存成功。
5、在 WordPress 后台的外观 – 主题文件编辑器中编辑 Hueman: 首页模板 (index.php),当添加了 736 KB 的内容后,更新成功,响应 200。耗时 1.5 秒。如图5
6、当添加了大于 50 MB 的内容时,响应 502。出现了问题,您的修改可能未被保存,请重试。您也可能需要通过FTP手工修复并上传文件。查看网络中的响应:无法加载响应数据: Request content was evicted from inspector cache。确认新添加的内容已经成功保存至模板文件中。通过重新查看模板文件内容确认。如图6
7、当添加了 46.5 MB 的内容时,响应 502。最后一直到 22.8 MB ,皆响应 502。到 22.7 MB,响应 200。
8、搜索 WordPress 中主题目录下的 .php 文件,其中最大的文件其大小为:1.59 MB。搜索 WordPress 中主题目录:的 .js 文件,其中最大的文件其大小为:402 KB。搜索 WordPress 中主题目录:的 .png 文件,其中最大的文件其大小为:911 KB。如图7
9、最后制定出自身的规则:Assets 目录下的文件的大小限制为 10 MB(MySQL MEDIUMBLOB 限制为 16 MB),Locales 目录下的文件的大小限制为 2 MB,其他目录下的文件的大小限制为 512 KB。
近期评论