other WordPress

WordPressでソースコードにシングルクォーテーションが含まれると保存エラーになった時の対処方法

更新日:

WordPressのブログでソースコードを掲載用とした際に、保存できずにハマりましたので対応策を共有します。

事象

記事の「下書きとして保存」ボタンを押下時に、以下のエラーとなり保存できませんでした。

発生条件

WordPress : WordPress 5.0.3
テーマ : Stinger Plus2
サーバ : ロリポップ(lolipop)
ソースコード表示用プラグイン : SyntaxHighlighter Evolved

原因

ブログ保存時に、ロリポップのWAF(Web Application Firewall)で、サイト書き換えの脆弱性攻撃として判断されていた事が原因でした。

WAF確認

ロリポップにログインして、以下の手順でログを確認可能です。

ユーザ専用ページ → セキュリティ → WAF設定 → ログ参照

対応

シングルクォーテーションをサーバの.htaccessに脆弱性チェックの対象外となるように編集しました。

.htaccess更新

ロリポップにログインして、以下の手順で更新しました。


ユーザ専用ページ → サーバの管理・設定 → ロリポップ!FTP → サイト名 → .htaccess

.htaccessの一番下に、以下を追加しました。

SiteGuard_User_ExcludeSig sqlinj-xx

「sqlinj-xx」は、WAFのログに表示されていたシグニチャ名をです。追加してもエラーが解消しない場合は、再びログを確認すると別のシグニチャでエラーが発生しているので、対象のシグニチャを.htaccessに追加してください。(以下の例では2シグニチャを追加しています。セキュリティ上の観点からマスクしてます)

まとめ

ブログやってると頻発しそうな事象でしたが、解決まで意外と時間がかかってしまいました。同じ事象の方は、よろしければ参考にしてください。







-other, WordPress
-

Copyright© Tech Log , 2020 All Rights Reserved Powered by STINGER.