最近的安全性更改使我的csv上传无效,原因是该类型无效。我需要绕过此更改,但未能通过将mime类型添加到相关过滤器中来做到这一点。
function my_myme_types($mime_types){
$mime_types['csv'] = 'text/csv'; //Adding csv extension
return $mime_types;
}
add_filter('upload_mimes', 'my_myme_types', 1, 1);
答案 0 :(得分:2)
在WordPress 4.9.9和5.0.1内核中,这是一个错误-或取决于您要求的安全性“功能”。
快速修复-将其添加到wp-config.php
define(‘ALLOW_UNFILTERED_UPLOADS’, true);
这将通过停止“新增强”的WordPress文件类型检查来打开潜在的安全风险,但是要感谢WP 4.9.8或5.0附带了更多风险。
请记住,如果WordPress修复了CSV错误,请将其设置为false。
您可以阅读更多详细信息,并关注this article中针对我的用户群的相关主题。
您也可以尝试将其添加到主题或插件代码中,但从根本上改变了MIME类型系统在WordPress中的工作方式。解决了该问题,但如果保留该问题,则可能会有更多长期问题:
function fix_wp_csv_mime_bug( $data, $file, $filename, $mimes ) {
$wp_filetype = wp_check_filetype( $filename, $mimes );
$ext = $wp_filetype['ext'];
$type = $wp_filetype['type'];
$proper_filename = $data['proper_filename'];
return compact( 'ext', 'type', 'proper_filename' );
}
add_filter( 'wp_check_filetype_and_ext', 'fix_wp_csv_mime_bug', 10, 4 );