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 のチェックマークをはずしたら解決した。