初申請の返事がきました。レビューの指摘は3件。修正して6ケ月以内にメールを返信しないと、却下されるらしい。 Forcing PHP Sessions on all pages Calling files remotely Please sanitize, escape, and validate your POST calls 1.Forcing PHP Sessions on all pages initで無条件にsession_startしてるのでサーバーキャッシュが効かない。必要なページだけに絞れ。という指摘です。 データベースのインポートと全削除は時間がかかるので、ajaxで複数回に分けて実行しています。その際、進捗状況などをサーバー側にPHP セッションを使って保存しています。wordpressのコアはPHPセッションを使っていないので、initにフックしてsession_start関数をコールしています。これだと、普通のページにアクセスするときもセッションが有効になってしまいます。 これだと、nginxなどのサーバーが行っているキャッシュ機能が使えないので、アクセスが遅くなるなどの弊害があります。 今からPHPセッションを使わないようにするのは骨が折れるので、最低限に絞る方法として、ajax処理だけに絞ることにしました。具体的には下記のようにwp_doing_ajax()を使います。 function dbm_init_sessions() { if ( wp_doing_ajax() && !session_id() ) { session_start(); } } あ、テストしてみたら、heartbeat でも有効になっちゃうか。うーん、どうするかな。 2. Calling files remotely javascriptのライブラリをCDN使って読み込んでいましたが、外部サーバーに依存するなと怒られました。プラグインのローカルディレクトリに入れることにします。 […]