허용되는 파일 형식 svg 이미지 업로드 magento 2
system.log에 표시
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
허용되는 파일 형식 svg 이미지 업로드 magento 2
system.log에 표시
main.ERROR: Unsupported image format. File:
/var/www/html/pub/media//logos_1.svg
답변:
이 모듈을 사용하면 WYSIWYG 편집기 내에서 다른 파일 형식을 업로드 할 수 있습니다.
다음 파일 유형은 기본적으로 사용 가능하며 모듈 구성에서 허용되는 파일 유형에 추가 파일 유형을 추가 할 수 있습니다 (일반> 컨텐츠 관리> WYSIWYG 옵션> 추가 허용 파일 유형).
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-Wysiwyg
di.xml을 편집하고 다음 코드를 추가 할 수 있습니다
<item name="allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
백엔드에서 다음과 같이 필요한 것을 설정하십시오.
SVG가 기본적으로 Magento 2에서 비활성화 된 이유는 저장된 XSS와 같은 보안상의 이유 때문입니다. 그리고 더 나은 위생 상태가 될 때까지는 최소한 비활성화 상태로 두는 것이 좋습니다.
APPSEC-1673
favicon에서 SVG를 제거한 곳 에서 이에 대한 예를 볼 수 있습니다.
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
Favicon에서 svg 이미지를 사용하여 xss를 저장했습니다.
백엔드를 통해 SVG를 업로드 할 수는 없지만 여전히 FTP로 업로드하여 업로드 한 것처럼 참조 할 수 있습니다. 이런 식으로 SVG를 사용하면 여전히 이점을 얻을 수 있지만 사용자가로드 할 수 있도록하는 보안 문제를 처리 할 필요는 없습니다.
그러나 여전히 favicon / logo 업로드에 SVG 업로드를 사용하려면 커스텀 모듈을 생성하고 xml node / php 함수를 제거 할 수 있습니다. 아래 diff에서 찾을 수 있습니다
https://github.com/magento/magento2/compare/2.1.8...2.1.9
SVG 업로드를 활성화하려는 위치에 따라 재정의해야하는 파일에 영향을줍니다. 당신은 당신이 빠른 검색에 의해 편집에 필요한 파일을 찾을 수 있어야 allowedExtensions
에서 XML
파일 또는 하나 getAllowedExtensions
setAllowedExtensions
의 PHP
파일을.
파일 또는 코드 아래에서 열거 나 덮어 씁니다. <item name="svg" xsi:type="string">text/html</item>
/vendor/magento/module-cms/etc/di.xml
<type name="Magento\Cms\Model\Wysiwyg\Images\Storage">
<arguments>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
<item name="image_allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
<item name="media_allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
</argument>
</arguments>
</type>
magento 2.3 이하 버전을 사용하는 경우 코드 silde가 변경됩니다. 위의 코드 <item name="svg" xsi:type="string">text/html</item>
를<item name="svg" xsi:type="number">1</item>
아래 파일 열기
/vendor/magento/module-cms/etc/di.xml
허용하려는 확장 프로그램을 추가하십시오.
<item name="svg" xsi:type="number">1</item>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
<item name="jpg" xsi:type="number">1</item>
<item name="jpeg" xsi:type="number">1</item>
<item name="png" xsi:type="number">1</item>
<item name="gif" xsi:type="number">1</item>
<item name="svg" xsi:type="number">1</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="jpg" xsi:type="number">1</item>
<item name="jpeg" xsi:type="number">1</item>
<item name="png" xsi:type="number">1</item>
<item name="gif" xsi:type="number">1</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="flv" xsi:type="number">1</item>
<item name="swf" xsi:type="number">1</item>
<item name="avi" xsi:type="number">1</item>
<item name="mov" xsi:type="number">1</item>
<item name="rm" xsi:type="number">1</item>
<item name="wmv" xsi:type="number">1</item>
</item>
</argument>
제품 이미지 용 SVG 파일을 허용하는 플러그인