ワードプレスでサイト構築すると、便利な機能でよく使うのはプラグイン。必須と言ってもいいくらいの機能で、自分がこうしたいああしたいという機能を個別で追加し、サイトを充実させていく。

現在自分のサイト構築で投稿機能にカスタムフィールドという入力項目を独自に追加する機能をプラグインを使用して簡単に追加や削除などカスタムできるようにしたい。そのプラグインをどれにするかというと、自分は一番馴染みあるのは「Custom field template」というプラグイン。

こちらでどんな入力フォームにするのか、いくつ作成するのか、どのページのみに表示させるのかという設定をしながら、別のオプションでグローバル設定というのもあり、その中で「`label`がセットされていて、カスタムフィールドのキーの代わりにラベルを表示したい場合」というものがある。

これは、デフォルトでは入力フォームのラベルが、フォームでしようするKeyとなるものがそのまま表示するため、見た目がちょっと格好悪い。クライアント案件であれば、この文字はなんですか?と問われるようなちょっとダサい仕様になるため、入力フォームのラベルを意図的に変えたい。

しかし、この設定を変更すると403エラーが表示してしまった。使用しているレンタルサーバーはヘテムルである。

このヘテムルは、不正アクセスを防ぐために、フォームで情報を飛ばすときに何かしら不明なプログラムや値が飛んでくるとヘテムル側で自動で防いでくれるというセキュリティー使用。

ありがたいではあるが、これが邪魔して構築したい機能もできなかったりするわけで、今回実際に403エラーによりグローバル設定が変更できない。

解決方法としてはワードプレス側ではなく、レンタルサーバー側のWAF設定というものをONからOFFに変更するだけでOK。すぐに反映するわけではないので、しばらく待ってから再度グローバル設定を行うと無事403エラー表示せず終了。

どのレンタルサーバーでもある程度WAFというものがあると思うので、大して何もしてないのに403エラーが表示した場合は、レンタルサーバー側のセキュリティを考えてみるのも良いかと。

ただ、これはある意味セキュリティを弱めるということでもあるので、その際はプログラム側でしっかりと脆弱性がないようにしっかりと行うように。