今天在 wpjam basic 的群里面看到还有人在用 timthumb php,然后问 timthumb 裁剪之后的图片能否 cdn 加速。

顿时有一种感觉村刚通网的感觉,都已经 2022 年了,还在用 timthumb.php 进行图片裁剪,会不会心大了一点。

我还是直接一点,先说结论吧:现在还在使用 timthumb 图片裁剪的 wordpress 主题,一律不要再用了,即使需要通过选项开启,也不要再用了。

timthumb 简单介绍

timthumb 是 ben gillbanks 创建的一个用于裁图的 php 程序,使用非常简洁方便,只要通过简单的参数就能把图片裁剪或者缩成自己想要的大小:

timthumb.php?src=my_image.jpg&h=150&w=150&zc=1

上面的链接就是将图片 my_image.jpg 裁剪成150宽,150高,如果不想裁剪,只想缩放,则将 zc 参数设置为 0,另外 timthunb 还支持滤镜等,总之非常易用。

所以之前很多 wordpress 杂志等类型的主题,都是使用 timthumb 进行图片的裁剪或者缩放处理。在它最高光的 2009 年,有 95% 的商业 wordpress 主题都是支持 timthumb。

timthumb 出现过重大的安全漏洞

在 2011 年,timthumb 出现过重大的安全问题,存在远程代码执行漏洞,该漏洞源于脚本没有正确检查远程缓存的文件,远程攻击者可借助特制的 url 利用该漏洞上传并执行任意代码。

这个安全漏洞造成非常多的网站被黑,包括 timthumb 作者的网站,timthumb 作者由于这个漏洞,搞得心力交瘁,也因此感觉内疚好多年,继续更新和维护 timthumb 的热情降到冰点,另外害怕再次引起别的问题,所以在2014年决定不再更新。

这也说明,开源真的不易,使用的时候一句感谢都没,一旦出问题被骂成狗,现在很多开源作者都背负了太大的压力,wpjam basic 也经历过被人辱骂的阶段,只是我挺过来,因为我骂回去了。

回到 timthumb,timthumb 在开源史上书写了重大的一笔,对此我觉得每个使用过的人都应该心存感激,但是回到现实,一个2014年就已经不再更新,并且曾经还出现过重大安全漏洞的 php 程序,你还在继续使用,是不是心有点大?这是一个非常重大的安全隐患。

所以我重复一下我的结论:现在还在使用 timthumb 图片裁剪的 wordpress 主题,一律不要再用了,即使需要通过选项开启,也不要再用了。

切换到云存储和cdn

我从 2013 年开始就已经不再使用 timthumb,现在主要使用云存储服务提供的缩图功能,所以我写的 wpjam basic 的「cdn加速」功能也提供了相关的图片缩放功能,只要勾选一下即可:

另外 wpjam basic 还支持直接对 wordpress 博客的各种缩略图进行设置:

非常方便,并且使用云存储裁剪和缩放,所有的操作是在云存储上进行的,并不会像 timthumb 一样,会消耗服务器资源和带宽,所以速度会更快。所以目前还在使用 timthumb 的用户,切换到云存储是最快的方法。