EmDash Tips一覧に戻る

Tips

EmDashのプラグインでできること・できないこと

「EmDashにもプラグインはあるの?」という質問をよくいただきます。答えはYesですが、WordPressのプラグインとは根本的に仕組みが異なります。この記事では、EmDashのプラグインがなぜ「サンドボックス型」と呼ばれるのか、その設計思想と、実務でできること・できないことを整理します。

WordPressプラグインが抱えていたリスク

WordPressのプラグインは、本体(コア)と同じプロセス内でフル権限のまま動作します。便利な反面、1つのプラグインの脆弱性がサイト全体のセキュリティリスクに直結してしまう構造でもあります。実際、WordPressサイトのセキュリティ被害の多くはプラグインの脆弱性が原因とされています。

EmDashのサンドボックス設計とは

EmDashのプラグインは、本体から隔離された「サンドボックス」と呼ばれる実行環境の中で動作します。プラグインは、自分が使いたい機能(メールを送る、コンテンツを作成する、外部APIと通信するなど)をあらかじめ「capabilities(権限)」として宣言する必要があり、宣言していない操作はシステム側が拒否します。

つまり「何でもできるプラグイン」ではなく「事前に申告した範囲だけができるプラグイン」という設計です。この記事の執筆にも使われているEmBraceのお問い合わせフォーム機能も、このサンドボックス型プラグインとして実装されています。

プラグインでできること

  • フォームの送信内容をコンテンツとして保存する
  • SMTP経由でメールを送信する(管理者通知・自動返信など)
  • 管理画面に独自の設定ページを追加する
  • 外部APIと安全に連携する(宣言した範囲内で)

プラグインが(今のところ)苦手なこと

WordPressのように「管理画面のあらゆる部分を好きに書き換える」「他のプラグインの内部動作に直接干渉する」といった、権限の境界を越える操作はサンドボックス設計上できません。また、エコシステムがまだ発展途上のため、WordPressで当たり前に存在するような特殊機能(高度な会員システム、EC決済連携など)は、既製のプラグインとしては選択肢が少なく、個別のカスタム開発が必要になるケースがあります。

まとめ

EmDashのプラグインは「自由度は少し制限されるが、安全性は構造的に高い」という設計思想でできています。何でも自由にできるWordPressのプラグインエコシステムに慣れていると窮屈に感じる部分もありますが、裏を返せば「知らないうちにサイト全体が脆弱になる」リスクを構造から避けられる、ということでもあります。

EmDash Tips一覧に戻る