2018.05.01
※この記事は2018年05月01日時点の情報をもとに作成されました。
WordPressでサイトを構築したことのある方なら必ずと言っていいほど使用するプラグイン。
数え切れないほどのプラグインが公開されていますので
「Googleで実現したいことを検索→紹介されている記事を読みプラグインをインストール」
という手順でプログラムのコードを1行も書かなくても、数分でやりたいことを実現できてしまいます。
この簡単さが、ブログだけでなくコーポレートサイトやECサイトなど幅広く利用されている理由の1つではないでしょうか。
しかし「簡単さ」の反面、落とし穴も存在します。
WordPressについて「公式サイト以外の場所で無料配布しているテーマを使用するな」といった記事をよく見かけます。
悪意のあるコードが埋め込まれている場合が多いというのが理由です。
プラグインについても同様のことが言えます。
これについては信頼のある開発者であったり、公式リポジトリを利用することにより避けることが可能です。
プログラムにはつきものですがバグ(脆弱性)というものが必ず存在します。
上述のような悪意のあるプログラムでなかったとしても、そのプラグインに脆弱性があった場合は攻撃の対象となってしまいます。
WordPress本体、プラグイン共にPHPで記述されていますのでオリジナルのソースコードがそのまま閲覧できてしまいます。
何か問題が起きた場合に自分で内容を確認して対処できるといった利点はありますが、攻撃者が解析をするのも容易にできてしまいます。
ソースコードを読みプラグインの中身について全て把握できているのであれば問題ありませんが、多くの場合はそうではないはずです。(なぜなら楽をするために導入しているのだから…)
また自分が必要としている機能だけをピンポイントで提供しているものより不要な機能もまとめて提供してるプラグインのほうが多いのではないでしょうか。
機能が増えれば増えるほど、脆弱性となり得る箇所も多くなります。
WordPress本体のバージョンが上がった際、プラグイン側も対応しているか確認しうまく動作していない機能があった場合は該当箇所を修正する必要があります。
プラグインの多くは、WordPress公式のものではなく個人であったり何かしらの団体が作成しています。
修正することは義務ではないため、突然開発が止まってしまうことも考えられます。
そのプラグインに依存したサイトを作成していると修正に大幅なコストがかかります。
フック処理で対応できれば良いですが、そうでない場合プラグイン本体に手を入れることになりますのでなるべく避けたい方法となります。
簡単に導入できるのでプラグインを導入したはいいが、いつの間にかメンテナンスに時間がかかり過ぎていたなんてこともあるかもしれません。
以上のようになるべくプラグインを使用せず、自分で把握できる部分を多くすることによりスムーズに運用できることを心がけています。
決してプラグインを否定しているわけではありません。
世界中の素晴らしい技術者の方々が作成したものですので簡単に脆弱性が出るとも思っていませんし、オープンソースであるが故に有名所のものは簡単に開発は中止されないはずです。
しかしプログラムに100%はありませんし、Firefox Quantumのように過去のものを大胆に切り捨てる選択がされることもあります。
どんな状況でも素早く対応できるようにしたいですね!
弊社では上記ブログ内容にある修正・カスタマイズのご依頼も承っております。
ご自身で行ってみて上手くいかない場合などこちらよりお気軽にご相談ください。