我如何在Wordpress 4.9.9中向上上传CSV文件

时间:2018-12-16 13:46:06

标签: csv upload

最近的安全性更改使我的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);

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 );