如果你尝试将文件上传到媒体库并收到“对不起,出于安全原因,不允许使用此文件类型”错误,则可能会感到困惑。幸运的是,有几种方法可以修复错误并使情况恢复正常。在本文中,我们将解释WordPress为什么会出现“抱歉,出于安全原因不允许使用此文件类型”错误。然后,我们将向你展示解决该错误并将任何文件上传到WordPress网站的五种方法。

为什么会出现此错误

这个WordPress错误背后的原因比看起来的直接得多。你可能不知道,但是WordPress 对你可以上传的文件类型有限制。当你尝试上载被禁止的文件类型时,出现“抱歉,由于安全原因,该文件类型”错误。

WordPress上传文件出错

这些限制的原因是为了防止由于文件上传漏洞引起的安全问题 。意外或故意上传恶意可执行文件 可能会对你的网站造成永久性损害。其他可以使黑客访问你的站点或服务器。但是,尽管此错误使你无法将文件上传到站点,但对于用户也是如此。没有任何“障碍”,几乎所有内容都可以上传到你的网站,这当然会带来很大的风险。

简而言之,“对不起,出于安全原因,不允许使用此文件类型”错误可以保护你的网站,当然这不是你可能遇到的最糟糕的WordPress错误。即使这样,如果你必须上载禁止的文件类型,此良好的错误仍然会带来问题。

如何解决此错误

当涉及到此特定错误时,你可以使用多种选择来处理它。根据你的情况,下面列出的方法之一应提供一种简单的解决方案。

但是,某些托管服务提供商也限制了你可以上传的文件类型。如果你是其中之一,我们下面列出的方法将无法解决该错误。在这些情况下,联系你的托管服务提供商应该是你的第一个方法。他们应该能够帮助你解决问题。

1.通过更改WordPress多站点设置添加允许的文件类型

WordPress Multisite使你可以通过单个WordPress安装创建网站网络。例如,它的方便,如果你想使用户能够创建自己的博客,或者如果你是一个国际化的公司,并希望使用子域名创建一个可以同时更新特定国家的网站。

与单站点WordPress安装不同,多站点具有一项设置,使你可以轻松地允许WordPress通常不允许的文件上传。要访问它,导航到网络设置=>设置的网络管理仪表板:

通过更改WordPress多站点设置添加允许的文件类型

在“上传设置”标题下,你会找到“上传文件类型”设置,可以在其中添加希望允许的文件类型的扩展名。

添加允许上传的文件扩展名

保存更改后,这将更新网络中所有站点的允许的文件类型,使你和你的用户可以上载此设置中包含的任何文件类型。

2.使用插件修改批准的文件类型

有几个插件可以使你上传禁止的文件类型,例如File Manager和Enhanced Media Library。这些插件具有设置,使你可以添加允许的 多用途Internet邮件扩展(MIME) 类型以上传到WordPress。MIME类型描述文件包含的内容,并告诉你的浏览器如何正确显示它。例如,文件扩展名.jpg与MIME类型 image / jpeg对应,并在Web浏览器中显示为图像。

我们将使用增强型媒体库插件来添加新的允许的MIME类型进行上传。你可以在WordPress 的Plugins区域内快速安装并激活该插件:

通过插件设置允许上传文件类型

激活插件后,我们将转到我们的设置,然后看到MIME Types> Media选项:

添加允许上传文件的类型

有两种方法可以允许上传特定的MIME类型。首先是简单地在“ 允许上传”列中选择与所需MIME类型相对应的框 。但是,如果未列出所需类型,则必须在页面顶部选择“ 添加新的MIME类型 ”。

这将添加一个新行,你可以在其中输入扩展名,MIME类型和标签。接下来,为新的MIME类型选择 允许上传框。如果你改变主意,则可以使用每行末尾的按钮删除条目,或者为原始设置选择“还原WordPress默认MIME类型 ”。

3. 通过编辑主题的functions.php文件来使用Upload_Mimes过滤器

你可以改为手动更改站点的允许MIME类型。为此,你需要访问主题的functions.php文件,并利用称为“filter”的WordPress函数。在functions.php的 文件定义你的WordPress网站的行为,或功能。在WordPress中,你可以使用过滤器来修改平台的默认功能。通过将upload_mimes过滤器添加到functions.php,当你尝试上传禁止的文件类型时,将更改WordPress的默认行为。

首先,请备份你的网站,以确保在编辑重要的网站文件时如果出现问题,可以使用一种方法来还原它。然后,你需要使用FTP客户端(例如FileZilla)通过FTP访问 functions.php文件。连接到站点的服务器后,你可以在wp-content目录中主题文件夹中找到functions.php文件。右键单击该文件,然后选择“查看/编辑”。

该文件将在你的文本编辑器中打开,你可以在其中添加以下代码:

function my_custom_mime_types( $mimes ) {
 
// 添加一下允许的扩展名.
$mimes['svg'] = 'image/svg+xml';
$mimes['svgz'] = 'image/svg+xml';
$mimes['doc'] = 'application/msword';
 
// 移除一下扩展名.
unset( $mimes['exe'] );
 
return $mimes;
}
add_filter( 'upload_mimes', 'my_custom_mime_types' );

将所需的MIME类型及其对应的扩展名添加到数组中。你还可以将希望禁止的MIME类型添加到可选的“删除mime类型”部分,如果不适用,则将其删除。通过此方法,你可以指定要允许的MIME类型,因此你仍然可以控制上传到站点的内容,以帮助防止文件上传漏洞。完成编辑后,请确保保存更改。

4.在你的wp-config.php文件中允许未经过滤的上传

如果要允许所有文件类型上载,可以通过编辑wp-config.php(包含与你的站点数据库有关的信息的文件)来进行。再一次,你将要备份网站,以防在编辑时出现问题。然后,你将按照前面方法中所述使用FTP访问wp-config.php。该文件应位于你网站的根目录中。选择 查看/编辑以打开文本编辑器。

你可以将以下代码添加到文件中,在该行上方的任何位置添加“ / *就这样,停止编辑。* /”:

define('ALLOW_UNFILTERED_UPLOADS', true);

完成编辑后,保存更改。请注意,这样做意味着没有任何措施可以防止你或用户意外(或有目的地)将恶意文件上传到你的站点。

当你对网站进行更改时,WordPress错误可能会导致挫折。但是,对不起,由于安全原因错误,不允许使用此文件类型,有多种解决方案可让你默认上传WordPress不允许的文件。

在本文中,我们讨论了在WordPress中导致此错误的原因以及原因。然后,我们提供了四种可能的方法来修复错误:

  1. 通过更改WordPress多站点设置来添加允许的文件类型。
  2. 使用插件修改批准的文件类型。
  3. 通过编辑主题的functions.php文件来使用upload_mimes过滤器。
  4. 在wp-config.php文件中允许未经过滤的上传。