#WordPress
WordPressをSVGアップロードに対応させる方法!!

コーダーのKです!WordPressって不便なことにデフォルトだとSVG画像のアップロードができませんよね、、、
最初知った時は結構驚きました、、、が、調べるとSVGは厳密には文書ファイルなので、内部に悪意のあるコードを埋め込めてしまう、
という問題点があり、セキュリティ上弾かれるようになっているようですね。

アップロードしようとするとこのようなメッセージが出てしまう。。。

SVGに対応させることと、こちらのセキュリティ面は実際トレードオフな部分はあるのですが、それでもSVG素材を使いたい時はありますよね。
(特に投稿に挿入した画像が荒いと突っ込まれたとか)
なので、今回はSVGアップロードに安全に対応する方法を紹介したいと思います。

プラグインを入れる

コードで対応する方法もありますが、プラグインを入れると一瞬で解決できます。
いつものようにWordPress管理画面から、「SVG」と検索してみると、「SVG Support」と「Safe SVG」というプラグインが
表示されるかと思いますので、どちらかをインストール&有効化するとPNGなど他画像形式と同様に、SVGファイルをアップロードできるようになります。

こちらの二つのプラグインの違いとしては「Safe SVG」がプラグイン側の設定ができないのに対して、「SVG Support」の方は細かく設定ができる点になります。

「SVG Support」ですとこちらのようなメニューが管理画面に追加されます。こちらの中を見ますと以下のようになっており、

デフォルトではチェックなしの状態です。この中でチェックするとなると「Restrict to Administrators」、「Sanitize SVG while uploading」どちらかが適当かもしれません。
「Restrict to Administrators」はSVGアップロードを管理者のみに限定する項目で、「Sanitize SVG while uploading」はSVGアップロードの際にサニタイズするという項目となります。

「サニタイズ」とは簡単に言いますと、冒頭で記載したSVGデータの中に悪意のあるコードを埋め込めてしまうといったリスクを軽減するものになります。
SVGファイルを一定の規則に沿って無害な形に書き換えるといった処理ですね。

なので、管理者以外のユーザーもアップロードできるようにしたい場合は「Sanitize SVG while uploading」、管理者のみアップロードできるようにする「Restrict to Administrators」
これらのどちらかで、SVGファイルの安全性をある程度担保する運用が適当に思われます。

また先に少しご紹介した「Safe SVG」はデフォルトでサニタイズされるものになっています。

ちなみに、、、「SVG Support」はプラグインの設定画面の最上部に寄付のお願いがあります。

800,000以上もインストールされてるけど、一人で開発、メンテナンスしてるから、よかったら寄付してねといった内容ですね。
WordPressのプラグインは便利なものですが、それらのほとんどが無料で提供されており、利用する側もそれらを無料で提供してくれている開発者に感謝し、
もしくは実際に行動して寄付を行えるといいですね。

まとめ

今回はWordPressをSVGアップロードに対応させる方法をご紹介しました。
コード上で対応する方法もありますので、こちらももし機会があったらご紹介したいと思います。

CONTACT

この度は当社へご興味お持ちいただき
ありがとうございます。
Webに関するお悩みございましたら、
是非一度お気軽にご相談ください。
平日10:00~19:00