【发布时间】:2019-11-11 13:48:55
【问题描述】:
经过一些安全更新后,NextGEN Gallery 插件不再允许上传图片。
当一个有效的图片文件被拖入上传区域并点击“上传图片”时,会出现以下错误信息:
Invalid image file. Acceptable formats: JPG, GIF, and PNG.
【问题讨论】:
经过一些安全更新后,NextGEN Gallery 插件不再允许上传图片。
当一个有效的图片文件被拖入上传区域并点击“上传图片”时,会出现以下错误信息:
Invalid image file. Acceptable formats: JPG, GIF, and PNG.
【问题讨论】:
在挖掘插件文件后,生成了一些错误信息,发现is_image_file()下面这行returned 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"
注意:这个新的上传/临时目录不得允许执行 PHP 文件,否则可能会导致重大安全问题。
<Directory /var/www/wordpress/wp-content/uploads>
<Files *.php>
deny from all
</Files>
</Directory>
【讨论】: