こんにちは
まずは、「問題解決のためのチェックリスト」をお試しください。特にブラウザのキャッシュおよび Cookie の削除や他のブラウザでの試用を試してみてください。
それでも解決しない場合は、サーバーのエラーログ(WAF など)を確認してみてください。
@ishitaka
ご返信誠にありがとうございます。
WAFのエラーログを確認いたしましたところ、
エラーは無いため問題ないように見受けられる状態でございます。
本番環境を停止してデバッグモードなどでの調査をすれば容易に原因の特定が可能なところかとは思いますが
停止しなくても改善できる方法があればと思い…>_<
私自身、WordPressに触れたことが無かったため質問も抽象的になってしまっておりますね…
申し訳ございません!
こんにちは
まずは、何かエラーが出ていないか、サーバーのエラーログ(WAF など)を確認してみてはどうでしょうか。
また、「問題解決のためのチェックリスト」も参考にしてみてください。
ご返答ありがとうございます。
解決?したみたいなのでご報告いたします。
■ブラウザコンソールのエラー内容
Failed to load resource: the server responded with a status of 403 (Forbidden)
■こちらでぐぐるとWAF関係のエラーだとでてくるのでConoHaのWAF確認
ログに私のIPで下記エラーがはきだされている
SQLインジェクションからの防御22(and/or,</>)
クロスサイトスクリプティングの試みの可能性11({{x:window.onunload=alert}})
■解決法
.htaccessに以下を追加
参考→ https://kobewing.com/wordpress/t173/
#Gutenberg対策 start--------
<IfModule mod_siteguard.c>
SiteGuard_User_ExcludeSig ip(エラー元のIP)
</IfModule>
#Gutenberg対策 end--------
因みに以下ですが
また本日以下のような現象もでるようになってしまいました。
1)一時的にbogoを無効化すると編集したページのスラッグに-2とつく
2)最新の投稿で抜粋が自動ででない。
1)bogogが有効になっていれば発生しないのでOK
2)sectionブロックでは抜粋が自動表示されませんが、カラム等ではでてくるのでよくわかりませんがOKです
以上プラグイン側の問題ではなくWAFのようでした。
今回はコンソールの確認等教えていただきありがとうございました。
-
この返信は1年、 11ヶ月前にmmwp2が編集しました。
@wildworks
コメントありがとうございました。回答が遅くなってしまい申し訳ありません。
`→この条件は間違いありませんか?
もし正しいとした場合、例えば
WAFを停止する
英文を半角スペース3つ以内にする
のいずれかの対応を行うだけで正常に作動する事になりますが、合っていますでしょうか。`
はい、WAFを停止すれば問題なく投稿できます。
英文を入力(半角スペースが4つ以上含まれる場合)
これについては、曖昧なところもあったので、コメント頂戴した後、今一度検証してみました。
また、サーバー側のエラーログも調べました。
そして、一部訂正させていただきます。
お教えいただき、サーバー側のエラーログも調べてみたところ、
SQLインジェクションからの防御9(or…=, and…=)
との記載がありました。
よって、再現条件は、
◯WAF(SiteGuard Edition)有効
◯カスタム投稿
◯Gutenbergブロックエディターを使用
●英文にjavascriptの式でや演算子のコードが英単語として入っている場合
だと思われます。
例えば、and、or、true、false、function などです。
他にも再現条件があるかもしれません。
英文入力の場合、andやorは使う場面が多いでしょうから、
困ったな、と思っています。。。
デフォルトテーマへの変更、プラグイン停止等を行なったが状況が変わらず悩んでおりましたが。。。
サーバーは同じで他のドメインで管理しているwordpressサイトで試しに確認したところ問題なく動作したので
それぞれのサーバーの設定を確認して原因がWAFの設定「あり」「なし」だとわかりました。
お騒がせいたしました。
こんにちは
サーバーの WAF の設定を OFF にするなどして試してみてください。
WAF を OFF にしてもうまくいかない場合、問題解決のためのチェックリストを試すか、サーバーのエラーログを確認してみてください。
@miwarock777 さん
こんにちは。
気になったのですが、
◯WAF(SiteGuard Edition)有効
◯カスタム投稿
◯Gutenbergブロックエディターを使用
◯英文を入力(半角スペースが4つ以上含まれる場合)
→この条件は間違いありませんか?
もし正しいとした場合、例えば
- WAFを停止する
- 英文を半角スペース3つ以内にする
のいずれかの対応を行うだけで正常に作動する事になりますが、合っていますでしょうか。
個人的には、その条件の場合のみREST API通信が出来なくなるケースというのは聞いた事がありませんので、もう一度正確な再現条件を確認されてみる事をお勧めします。
また、JSONレスポンスエラーになっているという事は、サーバ側にPHPレベルでのエラーが記録されている可能性もありますので、一度ご確認下さい。
miwarock777さん、こんにちは。
私も意見は munyagu さんと同じです。
しかし、なぜ投稿では起きなくて、カスタム投稿でだけ起きるのか、、、、不思議です。
おそらくですが、レンタルサーバー側が用意している WordPress 用の設定がカスタム投稿にまで及んでいないのでしょう。
WAF の設定画面がないのであれば他の対策を進めて頂くのがよろしいかと存じます。
ご参考になれば。
403 ですと間違いなく WAF でしょう。
検討されている対策をおすすめになるしかないと思います。
@shokun0803さん
@munyaguさん
コメントありがとうございました。
レスポンスメッセージは、
/wp-includes/js/dist/api-fetch.min.js?ver=XXXXXXXX
でのエラーにより、
/wp-json/wp/v2/[カスタム投稿スラッグ]/[POST ID]?_locale=user
が403
というものでした。
また、「問題解決のためのチェックリスト」も試してみました。
共用レンタルサーバーを利用している場合、サーバー会社から提供されるWAFのコントロールパネルはないことが多く(設定できるのは有効/無効の切り替えのみ)、またシグネチャを公開していないところもあります。
また、これは記事(投稿)のIDによってシグネチャが変わるので、シグネチャを指定しての除外も現実的ではないな、、、と感じている次第です。
いろいろ試しているなかで、もうひとつ分かったことがあったので共有させていただきます。
通常の投稿ではこのような事象は起きず、カスタム投稿でだけ、でした。
◯WAF(SiteGuard Edition)有効
◯カスタム投稿
◯Gutenbergブロックエディターを使用
◯英文を入力(半角スペースが4つ以上含まれる場合)
以上の条件が揃うようなことはそうそうないとは思うので、
・設定のカスタムが行えるWAFを導入する
・固定IPアドレスでのWAFの除外
・カスタム投稿ではREST APIを無効にする(=ブロックエディタを使わない)
というところで検討しつつ、対処するしかないのかな、と思っています。
(しかし、なぜ投稿では起きなくて、カスタム投稿でだけ起きるのか、、、、不思議です。)
こんにちは
「返答が正しい JSON レスポンスではありません。」、と表示された場合に、私なら直接的にはブラウザのデベロッパーモードのネットワークタブでどのようなレスポンスなのかを確認します。
大抵は JSON が返ってきていなくて何らかのエラーメッセージが返ってきています。
WAF の何らかのメッセージなのかもしれませんし、PHP のエラーメッセージかもしれません。
あるいは、サーバー上のエラーログを見ます。
そのようなことをするのが難しいのであれば、問題解決のためのチェックリストに書かれていることを試します。