今日のエラー

毎日遭遇する色々なエラーを書き留めています。ときどきエラーじゃない記事も有り。

Crayon Syntax Highlighter 1.14 と 認証

Wordpress で、コードを綺麗に表示するために使用するプラグイン "Crayon Synatax Highlighter" が 1.14 に先日バージョンアップしました。

私のサイトもバージョンアップしたのですが、しばらくするとクレームが・・・

サイトにアクセスすると認証画面が出る・・・。

えぇぇ、それってリモートアクセスのウイルス・・・でもなさそう。

管理画面に設定したダイジェスト認証の AuthName が表示されてることから、Crayon Syntax Highlighter の Javascript が管理領域にアクセスしているのでは?と推測。今回のバージョンで全面的に Ajax 化したようなので益々怪しい。

 

いろいろ調べてドイツ語のサイトだけど、ここ(Crayon Syntax Highlighter und .htaccess)に行き当たった。ビンゴ。wp-admin/admin-ajax.php にアクセスしようとしてるらしい。管理画面に Basic/Digest 認証をかけていると、フロントエンドからアクセスしても認証画面が出てしまう。

.htaccess で認証定義している場合は、その中に上記サイトの例に倣って、FilesMatch ディレクティブを追加すれば OK。

.htaccess を使わず、<Directory>ディレクティブを使っている場合は、以下のように <Directory>ディレクティブ内に定義すれば OK です。

<Directory /wordpress-directory/wp-admin>
   ・
   ・(AuthTYpe, require 等認証の定義)
   ・
   <FilesMatch "admin-ajax\.php$">
      Order allow,deny
      Allow from all
      Satisfy Any
   </FilesMatch>
</Directory>

同様の現象が、2.1.2 でも発生。js/editor.min.js にアクセスしているようだったので、FilesMatch ディレクティブを指定してみたがうまくいかない。

結局、プラグインの設定画面で、Display the Tag Editor in any TinyMCE instances on the frontend のチェックマークをはずしたら解決した。