NextGEN Gallery(Wordpress)表示图像文件无效



经过一些安全更新后,NextGEN Gallery插件不再允许上传图像。

当一个有效的图像文件被拖到上传区域并点击"上传图像"时,会显示以下错误消息:

Invalid image file. Acceptable formats: JPG, GIF, and PNG.

在挖掘插件文件并生成一些错误信息后,我们发现is_image_file()中的以下行返回了false

@exif_imagetype($filename)

原因是读取临时上传的图像文件时出现问题,该文件本应类似于/tmp/phpABCDEF123

原因同样是为PHP新设置的open_basedir选项。这使得PHP脚本无法访问目录/tmp。解决方案是在Apache站点配置中设置不同的upload_tmp_dir

php_admin_value open_basedir "/var/www/wordpress"
php_admin_value upload_tmp_dir "/var/www/wordpress/wp-content/uploads/tmp"

注意:这个新的上传/temp目录必须不允许执行PHP文件,否则可能会导致重大安全问题。

<Directory /var/www/wordpress/wp-content/uploads>
<Files *.php>
deny from all
</Files>
</Directory>

最新更新