为什么Wordpress默认不允许svg图像文件?

为什么Wordpress默认不允许svg图像文件?,wordpress,security,svg,Wordpress,Security,Svg,为什么默认情况下我不能将SVG图像文件上传到Wordpress(4.2.2)上?当您尝试时,您会收到以下信息: 很抱歉,出于安全原因,不允许使用此文件类型 我知道这个问题已经存在了一段时间,我在过去使用过这个解决方案,从: 但是,允许这种行为的安全含义是什么?为什么默认情况下会禁用它?SVG文件非常丰富,因为它们包含XML甚至JavaScript。因此,这些文件的处理比处理更简单的图像格式更简单 SVG图像类型未显示在wordpress中 由于安全原因,wordpress不允许被defalut

为什么默认情况下我不能将SVG图像文件上传到Wordpress(4.2.2)上?当您尝试时,您会收到以下信息:

很抱歉,出于安全原因,不允许使用此文件类型

我知道这个问题已经存在了一段时间,我在过去使用过这个解决方案,从:


但是,允许这种行为的安全含义是什么?为什么默认情况下会禁用它?

SVG文件非常丰富,因为它们包含XML甚至JavaScript。因此,这些文件的处理比处理更简单的图像格式更简单

SVG图像类型未显示在wordpress中


由于安全原因,wordpress不允许被defalut svg或被xml文件攻击的站点,因为xml显示所有数据,所以svg不支持svg,因为您可以将svg转换为xml文件。svg图像比它的所有数据都设置为xml格式。那是我的直觉。我希望通过一个可以应用于Wordpress的例子得到更具体的答案。我承认该链接突出了一些可能应用于Wordpress的潜在漏洞,但我认为这些漏洞没有得到很好的解释,需要更多的调查才能理解。因此,虽然您的答案显然是正确的,而且很有帮助,但我想进一步了解SVG漏洞是如何造成破坏的。我想象有人可以编写一些恶意的递归代码,并在SVG中弹出一些javascript?但这是怎么做到的呢?这个答案完全不可理解。
function cc_mime_types($mimes) {
  $mimes['svg'] = 'image/svg+xml';
  return $mimes;
}
add_filter('upload_mimes', 'cc_mime_types');
function my_media_types($media_types){
    $media_types['svg'] = 'image/svg+xml'; 
    $media_types['psd'] = 'image/vnd.adobe.photoshop'; 
    return $media_types;
}
add_filter('upload_mimes', 'my_media_types', 1, 1);