WordPressハックカテゴリーの投稿
2008-07-23


われらが阪神タイガースに優勝マジック46が点灯しました!! 今シーズンのリーグ優勝を応援すべく、WordPress ウェブログに現在のマジックナンバーを表示するウィジェット Tigers 2008 を作成しました。
- 現在のマジックナンバーは手動設定です。自動計算や自動取得はできません。
- 番号のロゴは数字ごとに違います。
以前から予告していた、優勝マジック表示ウィジェットをリリースします。配布形態としてはプラグインですが、動作としてはウィジェットになります。このため、お使いのテーマで「タイガース」ウィジェットの追加が必要です。
カウントダウンの数字ロゴが毎回異なっているのは、わたしの趣味です
このため、配布ファイルも 300KB オーバーになっています。全部同じデザインの方がいい、という人もおられるかもしれませんが、ご了承ください。ロゴデザインは、「Illustrator10分間ロゴデザイン」にある作例をほぼ流用しています。ちょっと古い本ですが、テクニック自体はそのまま使えますね。
マジックナンバーの自動計算は、タイガースと他チームそれぞれの残り試合数を取得する方法が困難なので、実現できていません。阪神タイガース公式サイトにマジックナンバーが掲載されるならば、それをひっぱってくる (自動取得) する手はあるかと思います。
数字ロゴ自体はタイガースと何の関係もないため、「マジック: 0」の画像を差し替えればパ・リーグでも使用可能です。しかし、パ・リーグの優勝マジックは9月まで点灯しそうにないですが
[追記] 本日、タイガースは負けましたが、ドラゴンズも負けたためマジックは 45 になったようです。ジャイアンツに自力優勝が復活した (==マジック消滅) したのではないかとビビりましたよ……。
[さらに追記] マジックナンバーの計算には、タイガースと他球団それぞれの残り試合数が必要と思っていましたが、それはマジック点灯するかどうかの判断に必要なのであって、点灯することが確実であれば不要でした。つまり、勝敗表さえあれば計算可能です。ということで、タイガース公式サイトの順位表、日本野球機構のセ・リーグ勝敗表、Yahoo! ニュースの順位表あたりを読み取って自動計算させることを考えてみます。ただし、中日は引き分けが4試合と多いので、単純に勝ち数だけの計算ではうまくいかないようです。通常、「対象チームが残り全勝した場合の勝ち数より1つ多く勝てれば優勝できる」前提で計算しますが、今年はその前提が崩れています。ドラゴンズが残り全勝すると99勝ですが、分母となる試合数は140なので、勝率は 0.707 です。タイガースは143試合ある (引き分け1) なので、同じ勝率ならば 101.1 勝なので、102勝しないと上回れません。ここから現在の勝ち数57を引くと「45」となり、マジック45と算出できるわけです。巨人 (読売) を対象とすると、残り全勝して101勝、試合数142 (引き分け2) なので勝率は 0.711 です。あれ? ドラゴンズを上回ってしまいました。143試合換算で 101.7 勝なので、いずれにせよタイガースは102勝すれば優勝できます (==マジック45)。問題は、ジャイアンツまたはドラゴンズが全勝してもタイガースが45勝できるかどうかですが、これには直接対決の試合数が必要、というわけです。
2008-07-22

WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.40 ベータ版(その1)を配布いたします。1.30 より大きな変更を加えたため、ベータ版を配布して広くテストを募ることといたします。
- WordPress 2.0.x に再び対応することにしました。
- 携帯電話での地図表示は Mobile Eye+, MobilePress にも対応しました。ただし、「この場所の地図」というテキストリンクになります。
- Ktai Location 1.0.0 以降で導入した、Lat_Long フィールドの第3引数 (高さ) に対応しました。以前のバージョンは非対応のため、高さフィールドを持つ Lat_Long フィールドを認識しない場合がありました。
- 独立の地図ページにおいて、同一地点に複数の投稿があるときはタブウィンドウにして、マーカーが重ならないようにしました。ただし、微妙に位置情報がズレているときは重なってしまうことがあります。
- 独立の地図ページにおいて、固定ページで設定した位置情報 (Lat_Long フィールド) を認識してマーカーが打たれるようになりました。従来は、地図ページで打たれるマーカーは、投稿で設定されたものだけでした。
- WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。lightweight-google-maps/wp-load.php の書き換えが必要です。
- 各投稿に記録された Lat_Long カスタムフィールドをすべて削除する機能がつきました。プラグインの削除時などにご利用ください。
WordPress 2.0 対応の復活、携帯電話対応の強化、同一地点のタブウィンドウ化、固定ページに登録した地点の地図ページ表示、WordPress 2.6 対応などなど行なっています。「バージョン 2.0」とも言ってもよさそうですが、そこまで大きな機能強化だと思えないので、通常のマイナーバージョンアップとしておきます。
バージョン 2.0 を名乗るためには、Lat_Long フィールドの内容修正に Google 地図を使えるようにするとか、緯度・経度を指定して地図ページを出したときはスクロールしてもマーカーが出るようにする (現状は範囲外のマーカーは存在しない) とかの対応が必要だと思っています。
2008-07-21
なんとか Ktai Style と Ktai Entry の WordPress 2.6 対応強化 (wp-content ディレクトリーの移設対応) を行ないました。Lightweight Google Maps (LWGM) および Weather Journal も同様の改良を行なっていますが、他に改善したい点があるため、リリースはもう少しお待ちください。
LWGM の方は、固定ページに登録した位置情報が大きい地図ページに出ないという問題・同じ地点に複数マーカーがつくと下にあるマーカーがクリックできない問題に手をつけようとしています。Weather Journal の方は、WordPress 2.5 以降で天気を未設定のまま投稿しようとすると、WordPress の JavaScript の所為で、直前に投稿した他の日の天気が入ってしまう問題が見つかっています。そういう挙動をキャンセルするよう JavaScript を追加する必要がありますが、どう実装すればいいか悩んでいるところです。
また、今回サボりましたが、管理機構の SSL 対応により、クッキーの扱いが変わったり、プラグインのありかを示す URL を取得する新しい API が用意されたりしたので、これを使うようプラグインを修正することも考えています。特に、Ktai Style は管理機能があるため対応は必須です。しかし、日本の携帯電話は、SSL でクッキーを使うときの挙動があやしいため、うまく実装できるかどうかは不安です……。
WordPress 2.6 対応とは違いますが、Ktai Location で「同一地点であるかの判定」が厳しすぎることが分かりました。7月19日に京都駅についたレポートで、本文に埋め込まれた GPS情報URL による位置情報と、写真の EXIF に埋め込まれた位置情報の両方の地図が出てしまっています。Ktai Location が抽出した位置情報が微妙に異なっていたわけですが、これは au 端末が写真の位置情報をもとに作った GPS情報URL の精度が悪いのか、Ktai Location の内部処理が悪くて計算結果が間違っているのか、要調査ですね。
[追記] LWGM ですが、バージョン 1.40 のベータ版を出しました。
WordPress 用メール投稿プラグイン「Ktai Entry」のバージョン 0.8.6 をリリースいたします。変更点は以下の通りです。
- 外部メールボックスの読み出しを「しない」に設定したとき、または、読み出し時間間隔を経過していない場合は、外部メールボックスを読み出すトリガーとなるスタイルシート表示を行わないようにしました。
- WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。ktai_entry/wp-load.php の書き換えが必要です。
- 本文が同じ内容を投稿しようとするときの重複チェックを強化しました。
- 添付画像がサーバーに保存できなかったときのエラー処理を改善しました。
- プラグインを停止したとき、POP3 サーバーのパスワードのみ初期化するようにしました。(従来はすべての設定を初期化していました)
- 次の独自フィルターフックを追加しました: post_category, post_keywords, image_rotate, post_name, post_date
今回は WordPress 2.6 対応の強化および、独自フィルターフックの追加です。WordPress 2.6 の新機能のうち、管理機構の SSL 化には対応していません (外部メールボックスを「すぐ読み出す」などが動かなさそう)。独自フィルターフックは、「VGA 以上の画像でも強制的に縦向きにしたい」という相談があったため、フィルター関数を書けば可能になるようにしたものです。ただし、このフィルター関数はテストしてないので動かなかったらごめんなさい

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」の安定版バージョン 1.43 をリリースいたしました。1.42 からの変更点は次の通りです。
- span 要素, div 要素の stye 属性 (ビジュアルエディタで付けた文字色などが使用) は携帯出力で削除せずそのまま出力するようにしました。
- WordPress 2.6 以降で、wp-content/ ディレクトリーもしくは wp-content/plugins/ ディレクトリーを移設した場合に対応しました。ktai_style/wp-load.php の書き換えが必要です。
- Default テーマなど、本文を途中で切る処理 (テンプレートタグ
ks_get_content() で可能) が XHTML 文法違反になることがある事例を修正しました。
- 複数プラグインをまとめて使用・停止したとき、携帯ログイン用セッション保存テーブルの生成や削除に失敗する不具合を修正しました。また、WordPress 2.1 以前では管理機能が使えないため、セッション保存テーブルを作成しないようにしました。
- ktai_style フォルダー/ディレクトリーの名前を変更している場合、プラグインを使用停止したとき携帯ログイン用セッション保存テーブルが削除されない不具合を修正しました。
is_ktai() 関数の引数に ‘flat_rate’ を与える定額パケット通信に対応しているかどうかを返す機能が正常に働いていなかった不具合を修正しました。
今回は WordPress 2.6 での wp-content ディレクトリー変更への対応およびバグ修正です。WordPress 2.6 の全機能には対応しておらず、管理機構の SSL 化などは未対応です。ご了承ください。
2008-07-17

かつて、WordPress 向けに有用なプラグインを提供されていた SOMY さんですが、SOMY さんが制作したプラグインすべてに、セキュリティー欠陥があることが分かりました。それは「プラグインの PHP ファイルに script 要素が埋め込まれていて、WordPress 2.0.x 以前 (2.0 を含む) で、管理画面のプラグイン一覧でリストされたときに実行されてしまう。」というものです 。プラグインをインストールするだけで発生し、停止していても script が実行されます。
画面のバージョン数字の部分に script 要素があって、XHTML ソースは次の通りです。
<td class='vers'>1.0<script src="http://wp.somy.jp/up_check/?f=logined-publish&v=1.0"></script></td>
この script 要素は、おそらくバージョン確認が目的だと思われます。今のところ、サーバー側 API が停止しており、何の反応もありませんが、将来 wp.somy.jp がクラックされたり、SOMY.JP ドメインが失効して他人に渡ったりして、悪意あるコードが設置された場合は非常に危険です。なお、WordPress 2.1 以降では、script 要素が削除されてから管理画面に表示されるので安全です。
対象プラグインは以下の通りです。
[このセクション追加] WordPress 2.0 以前で当該プラグインを使用している場合は、WordPress の管理画面を *開かずに*、FTP/SFTP ツール等で、サーバーのプラグインディレクトリー (wp-content/plugins/) から当該プラグインを削除してください。管理パネルでプラグインを無効にする必要はありません (危険です)。
以下のツールは、厳密にはプラグインではなく、WordPress のプラグイン一覧にリストアップされないので、この問題はありません。しかし、別のセキュリティー欠陥が存在する可能性は否めません。
ドキュメントに「プラグインには、バージョンチェック用の JavaScript が入っています」という記述があればマシなのですが、そういう記述が一切ないため「バックドア」と認定していいでしょう。SOMY さんは去年あたりから活動を停止されており (2007年9月9日のコメントが最新)、プラグインの更新もされていません。リリースされたプラグインはすべて古くなっており、WordPress 2.3 以降に対応していないものも多くなっています。このため、すでに「SOMY 製プラグインは (古いため) 使うべきではない」という状態だったのですが、こんなバックドアが埋め込まれているとすれば、「インストール禁止」と言うべきでしょう。WordPress 2.1 以降では問題ないとはいえ、バックドアを作ってしまうような作者のコードは、他の部分も信用しない方が無難です。
SOMY さんが現在活動中であれば、直接連絡するなり IPA に通告するなりして改善をお願いするのですが、そうではないため、この場をもって多くの人に警告するしかありません。その点が非常に残念です。
逆に言うと、この問題は、WordPress 2.0 自体の欠陥とも言えます。2.0 ブランチは一応現役なだけに 2.1 以降での修正をバックポートしてもらいたいのですが……。→ ME 2.0 については自分で直してしまえばいいのだった
「プラグイン10選」で SOMY プラグインを挙げられている人にピンバックしてみましょうか。おそらくみなさん WordPress 2.1 以降なので安全だとは思いますが。(追記: その他にも使っているユーザーを見つけたら追加します)
2008-07-16
先日リリースした Ktai Style 1.42 ですが、WordPress 2.6 対応が不十分だったことが分かりました。それは、複数プラグインの有効化・無効化に対応していないという問題です。Ktai Style を有効にしたとき、ログインセッション保存用のテーブルを作成し、無効にしたときテーブルを削除するのですが、複数有効化・無効化を検知していないのです。このため、Ktai Style を1つだけ無効にし、その後、他のプラグインとまとめて有効にしようとすると、携帯電話からログインできなくなってしまいます。
WP_CONTENT_DIR を移設したときの対策も思いつきましたので、それらを含めた 1.43 を WordPress 2.6 日本語版が出てからリリースすることにしましょう。Ktai Style の日本語表示は、WordPress 自体の日本語表示に一部頼っていますので、WordPress 2.6 の日本語リソースの出来具合をみないことには、Ktai Style の日本語リソースを調整できないのです……。
昨日、阪神タイガースがスワローズに勝てば優勝マジックが点灯するはずだったのですが、残念ながら 0-6 で負けてしまいました。マジック点灯すれば、2005年みたいに当サイトでカウントダウンをしようと思っていましたが、まだ準備ができてないので、マジック点灯が先になったのは渡りに船でした
2005年は、手書き HTML でやっていましたが、今回はプラグインまたはウィジェットを作ろうと思っています。本当は、阪神タイガース公式サイトにアクセスして、成績から優勝マジックを自動計算したいところですが、各チームごとの残り試合数を「試合日程」から算出しなければならず、なかなか骨が折れます。ということで、とりあえずはマジックナンバーを手動入力させる方向で考えています。
今回は番号が50個ぐらい必要なので、数字ロゴは大量生産かなーー。
2008-07-15
フィードから del 要素を除去するプラグイン Delete Del というものを作ってみました。当サイトでは、記述の修正に del 要素を多用するんですが、RSS や ATOM では XHTML タグだけ削除されてしまい、意味不明になってしまいます。del 要素の意味を考えると、フィードでは del 要素を削除する方が自然です。
- マークアップ
- この業者「あどあど」<del>は未だに同じことを続けているようです……</del>が手掛けたサイトでまだ URLGATE オンのサイトがありました。
- 従来のフィード
- この業者「あどあど」は未だに同じことを続けているようです……が手掛けたサイトでまだ URLGATE オンのサイトがありました。
- 改良したフィード
- この業者「あどあど」が手掛けたサイトでまだ URLGATE オンのサイトがありました。
独自ウェブログシステムだった時代は、そういう動作をしていましたが、WordPress に移行してから、その挙動がなくなっていました。なお、Ktai Style では既定の動作となっています。
圧縮ファイルを展開して、PHP ファイルをプラグインディレクトリーに入れて、有効化するだけで OK です。なお、WP-Multibyte-Patch が提供する excerpt 系関数を有効にしている場合は、del 要素の削除が効きません。これは WordPress コアの問題のため、改善はほぼ不可能です。
さきほど、WordPress 2.6 がリリースされたようです。まだ trac にチケットが多数残っていたはずなのに、リリース予定日を優先したようですね。少なくとも、WP_CONTENT_DIR, WP_PLUGIN_DIR 定数の変更によるディレクトリー変更機能はまだ使いものにならないと思います
日本語版は数日かかるでしょうから、それが出てからテストサイトに入れて拙作プラグインの確認を行い、当サイトに適用するか検討してみます。
[追記] 残っていた 760件のチケットはすべて 2.9 (!) に延期されていました。これは報告者が各自重要度に応じて 2.7 とかに戻せということですよね? (Y/y)
トラックバック企画「WP2.5に入れるプラグイン10選」ですが、中間集計が始まったようなので、「使うべきでないプラグイン10選」を挙げてみたいと思います
(追記: ヤバいものが増えてしまい、12選になりました) Masayan さんはこういうリストアップを好まないと思いますが、「やばいものは避けよう」という注意喚起としてあえて出してみます。もし、自身で使っているプラグインが該当していると不快になるかもしれませんが、セキュリティー向上のための情報ですので、気を悪くされないようにお願いします。
危険なプラグイン
以下のプラグインは、セキュリティーホールがある/ありそうなため、即座に使用停止した方がいいものです。
- WP MOBILE
- デジタルスタジオ製のモバイル対応プラグインです。当サイトでは度々危険性を告知しています。当初発見された脆弱性は塞がれていますが、まだ突破口があるのでないかと思われます。また、WordPress 2.3 以降には未対応なこと、IE, Firefox, Opera 以外の PC 向けブラウザー (Safari など) では閲覧できない、という重大な問題があります。(Safari ユーザーお断りサイトができてしまう
- Plug ‘n’ Play Google Map
- Lightweight Google Maps の前身である Google 地図対応プラグインです。XSS 脆弱性があること (作者に報告しても梨のつぶて)、位置情報が多くなると PHP およびブラウザーのメモリエラーになること (16MB だと 1000個が厳しい) などの問題があります。
デッドリンクチェッカー
まだベータ版なので、ここに挙げるのはかわいそうなのですが、2回も脆弱性を指摘したのにまだ同じ箇所が直ってないのは残念です。今後修正版が出るでしょうが、多くのテスターによる確認が済むまで使わない方が賢明です
(作者がんばれ!!)
新しい WordPress に対応していないもの
以下のプラグインは最近の WordPress に対応していないものです。また、作者が開発を中止した/新バージョンが今後出ないと思われるものです。コードを自分でいじれる人ならば、改造して使ってもいいですが、プログラミングの知識がないならば、避ける方が無難です。
- SOMY Mobile Gate
- SOMY さんのメール投稿ツールです (厳密にはプラグインではありません)。残念ながら 2006 年秋頃に開発を中止されてしまいました。そのため、WordPress 2.3 以降の新しいカテゴリーテーブルには未対応となっています。後継の MobG を使いましょう。こちらはメンテされています。
- SOMY SpamBlock JP
- SOMY さんのスパム対策プラグインです。こちらも 2005年3月以降メンテナンスされていません。トラックバック・ピンバックの識別方法が古く、すべてコメントとして処理してしまっています。また、ブロック時の表示が文字化けしやすいこと (Shift_JIS 表示かつ HTTP ヘッダで Content-type 未指定)、コメント/トラックバックを必ずデータベースに一度保存させていること、どうにかがんばれば SQL インジェクションを起こせるかもしれないこと、将来
$tablecomments が廃止されたら動かないこと、などいくつか問題などがあります。
- → WordPress 2.0 以前 (2.0 含む) でセキュリティー欠陥があることが判明しました。WordPress 2.0 以前ではインストール禁止です。
- SOMY IMG Collect
- SOMY Logined Publish
- SOMY さんのギャラリープラグインと、ログインユーザー判別プラグインです。どちらも、設計が古く将来の Wordpress で動くかどうか不明です。なんとか WordPress 2.6 でも動きそうですが……。なお、WordPress 2.0 以前 (2.0 含む) でセキュリティー欠陥があることが判明したため、インストール禁止です。
アダルト広告が出てしまうもの
以下のプラグインは、取り扱い注意な機能を含むため、万人にはおすすめできないものです。設定を変更するか、「ポルノ広告表示機能」を了承の上使うのならば問題ありません。
- Mobile Eye+
- まおうさんの携帯対応プラグインです。Otsukare さん作の Mobile Eye がベースとなっていますが、大幅に変更されています。これも、当サイトで口が酸っぱくなるほど書いている通り、「画像や外部リンクをクリックしたときの URLGATE 画面には、ポルノ・出会い系広告が出る外部サービスがリストされる」という問題があります。しかも、この機能はデフォルトで ON にかかわらず、ドキュメントや配布サイトには記述されていません。このため、Mobile Eye+ をデフォルト設定で使うと、「アダルト広告に繋がる携帯サイト」ができあがってしまいます。
- URLGATE 機能がドキュメント化されているならば、「ポルノ広告が出てもいい」というユーザーだけが ON にすればいいのですが、そうでないため、取扱注意なプラグインとなっています。PHP5 未対応のため Ktai Style が使えない、という人は、ちょっと機能が低いですが「MobilePress」も検討してみてください (ただし、short_open_tag が off だと動きません)。
お行儀が悪いもの
以下のプラグインは実装が凶悪で、他のプラグインに悪影響を出すものです。
- Events Calendar
- イベント表示プラグインです。標準のカレンダーの代替を提供します。しかし、プラグインの初期化段階で wp-includes/pluggable.php を
require してしまうため、「プラグインが先に関数宣言することでオーバーライドできる」という pluggable.php の仕掛けを台無しにしてしまっています。WordPress コアの動作をまるで理解していない人が作っているわけで、これだと Extends から削除すべきぐらい酷いものです
Ktai Style とコンフリクトするから敵対視しているわけではありません……。
- All in One SEO Pack
- 人気のある SEO 増強プラグインです。しかし、タイトル書き換え機能が
ob_start() を使うという凶悪な実装で、Ktai Style や Mobile Eye+ では title 要素が化けます (現在の Ktai Style では対策ずみ)。お行儀が悪い、という意味ではトラブルメーカーなわけで、初心者の方は避けた方が無難です。
セキュリティーを落とすもの
WordPress のセキュリティーを下げてしまうプラグインです。
- Exec-PHP
- runPHP
- どちらも、投稿に PHP コードを記述できるようにするプラグインです。テーマの改造では不可能な動的なサイトを作ることができます。しかし、複数の投稿者がいる場合、ユーザー登録が自由なサイトではセキュリティーがかなり落ちますので、使ってはなりません。ページテンプレートや自作関数/自作プラグイン/自作ショートコードを作れば、これらのプラグインに頼らなくても済みます。逆に言うと、これらのプラグインを使うということは、まだ初心者の域であると言えるかもしれません
閲覧者が困るもの
他人のプラグインばかり非難していると「何様やねん」と言われそうなので、自作のものをオチとして出しておきましょう。
- Ktai Style Shuffle (PC 向けバージョン)
- Ktai Style のエイプリルフール版です。なんと、アクセスの度に表示される投稿が変化するという「ランダム表示」を強要します。閲覧者が困惑すること必死です
強烈なジョークプラグインですので、真面目なサイトで使ってはいけません。
なお、ここに挙げられていないものが「安全」というわけではありません。プラグインは便利ではありますが、PHP コードそのものですので、すべてセキュリティーの脅威となり得ます。プラグイン紹介サイトでは、コードの確認をしていない場合もありますので、「人気サイトで紹介されているから大丈夫だろう」と思わないようにしてください。
[追記] もちろん、上記のリスクを承知の上で、ここに挙げたプラグインを使うのは自由です。また、問題点がさほど重大でない場合もありますので (設定で回避できる etc)、一概に全部がダメ、というわけではありません。本当にダメなのは、一番最初の2つだけです。
[さらに追記 2008-07-15 09:20] デッドリンクチェッカーは、作者さんが根本的な改良をされたようなので、削除しました。そのかわり、Events Calendar を追加しました。
[もっと追記 2008-07-17 01:15] SOMY プラグインの欠陥を追記して、他のプラグイン2つも追加しました。
2008-07-14
WordPress 公式サイトでは、「WordPress という商標を守るため、WordPress に関するサイトを始める場合は、ドメイン名に『WordPress』をという文字を含めないでほしい」というお願いがされています。かわりに「wp」という文字列が推奨されています。ただし、サブドメインに「WordPress」を含む場合は許可されています。
さて、JP ドメインの場合は、以下の3つが存在します。AC.JP, AD.JP, ED.JP, GO.JP, GR.JP, LG.JP, OR.JP は空いています。
WORDPRESS.JP はどうやら Otsukare さんが所有されているようです。今のところ A レコードの割り当てはないようで、ウェブサイトもありません。むしろ「悪意ある他人に取られないための防衛策として保有」されているような状況ですね。これは問題なさそうです。
WORDPRESS.NE.JP はデジタルスタジオのブログサービス Press9 で使えるドメインの1つです。すなわち、モロ「WordPress に関するサイト」です。サービス内容も WordPress.com とかぶるため、完全に商標侵害と思われます。
WORDPRESS.CO.JP は株式会社デジタルキューブのドメイン名です。オープンソースを利用したウェブ構築ソリューションの提供などをされているようで、業務素材として WordPress を使っているようです。それだけだと問題は少なそうなのですが、サイト名が「ビジネスワードプレス」というのはヤバそうです……。また、「WordPress を含むドメイン名を取るな」という声明が出た後 (2006年10月以降) にドメイン取得しているという点は悪質だと思われます。
後者2社を Automattic にチクったら、おそらく訴訟問題に発展するでしょう。特に、デジタルスタジオの方 (wordpress.ne.jp ドメイン) は確実に潰せそうです ;-);-) 個人的にはそれはそれでよいことだと思うんですが、wordpress.ne.jp ドメインでウェブログを公開している人がかわいそうなんですよね……。うーん。
2008-07-13

トラックバック企画「WP2.5に入れるプラグイン10選」は順調に反応が増えているようです。わたしも投稿していますが、他の人の10選を見ると、なかなか興味深いものがあります。特に、常用しているプラグインが多い人の場合、「どれを落として何を残すか」という選択において、重視しているポイントが見えてくるんですよね。
注目すべきは、Akismet 以外のスパム対策プラグインも利用されている人がほとんどという点でしょう。Akismet はスパム対策という点では最強の部類に属するのですが、残念ながら多言語環境において誤認識が多いため、日本語ウェブログでは「Akismet だけに頼る」というのは困難なものがあります。
また、Ktai Style, Ktai Entry を初めとする携帯関連プラグインも利用者が多いです。さすがに Masayan さんところにトラックバックする方は圧倒的に Ktai Style の利用者が多いですが、いくつか Mobile Eye+ の方がおられます。サーバーが PHP5 未対応というかわいそうな人なのでしょう
メール投稿系では MobG が出ていませんが、これは「プラグインではなくアドオンツール」という形態なので、リストアップされていないのだと思われます。
その他は、アクセス解析系が多く、カテゴリーやタグいじる系、画像系なども人気がありますね。runPHP, ExecPHP 系も利用者が多いのですが、不具合やセキュリティーホールの元になりますし、これに頼るのは実はスキルが低い証拠なので、早い目にやめることをおすすめします。WordPress に手慣れた人ならページテンプレートを作ったり、テーマの functions.php に自作関数を入れるか自作プラグインを作るでしょう。WordPress 2.5 以降なら自作ショートコードという手もあります。(追記: 意外とWP-PageNavi は利用者が少ないですね。見た目の使い勝手は上がるのですが、コードがいまいちで DB クエリーが増加するので、嫌がっている人が多いのかもしれません。←WordPress 2.5 対応版は DB クエリーは増えません)
わたしの場合、使っているプラグインがもともと少なく、自作ものは優先度が高いものが多いため、必然的にそれが残ります。他人のプラグインで落選したものは「Simple Tags」で、これは普段はオフにしていて、過去記事に大量にタグ付けするときだけ有効にする、という使い方をしているためです。
[追記 2008-07-15] トラバ受付が7月末まで延長され、中間集計が出ていました。基本的にはかなりバラけていますが、Google XML Sitemaps, Ktai Style, Simple Tags, wp-tegaki は5票以上獲得と人気があります。「使うべきでないプラグイン」を挙げられた方もおられますが、利便性とリスクを天秤にかけての判断なのでしょう。あくまで「自分にとって必要なプラグイン10選」であって、「おすすめプラグイン10選」じゃないので、それはそれでいいですよね。これが「おすすめプラグイン10選」であるならば、「使うべきでない……」をリストアップされると難儀なわけですが……。
2008-07-12

WordPress 用 Google Maps プラグイン「Lightweight Google Maps」のバージョン 1.30 をリリースします。変更点は以下の通りです。
- 固定ページの地図で、キーワードタグでの絞り込みに対応しました (WordPress 2.3 以降が必要)。
- 携帯電話向け地図を出す機能は Ktai Style 1.42 以降が必要となりました (Ktai Style 1.41 以前では地図が出ません)。
- WordPress 2.6 ベータ版への対応を盛り込みました。
- 各エントリーの地図を「固定ページへのリンク」にしている場合、「この位置を大きい地図で見る」リンクが出力されない不具合を修正しました (バージョン 1.20 で発生した不具合)。
今回は、Ktai Style バージョン 1.41 で地図が出なくなった問題の対応、WordPress 2.6 ベータ版への対応がメインです。おまけとしてキーワードタグでの絞り込みにも対応しています。
[追記] 固定ページの大きい地図で出てくるマーカーは、投稿に付与した Lat_Long フィールドのものに限られてしまうという制約はそのままです。(地図表示以外の) 固定ページで Lat_Long フィールドを入れた場合、そのページで小さい地図は出ますが、地図ページではその地点のマーカーが出てきません。これはちょっと不可思議な動作になってしまうので、今後のバージョンでは直す予定です。
2008-07-10

絵文字対応の WordPress 携帯対応プラグイン「Ktai Style」の安定版バージョン 1.42 をリリースいたしました。1.41 からの変更点は次の通りです。
- a 要素に href 属性がない場合はリンクとみなさないようにしました (従来は <a name=”foo”></a> のような場合も外部リンクとして中継ページを出してしまっていました)。
- リンク先に Mobile Link Discovery があるかの確認で、モバイル版ページの URL を確実にできるよう改善しました。(Ktai Style 1.41 でも抽出できない場合があったので、さらに改良)
is_ktai() 関数の引数に ‘flat_rate’ を与えると、定額パケット通信に対応しているかどうかを返すようにしました (ks_is_flat_rate() と同じ返り値)。
- wp-content/ktai-themes/ ディレクトリーに格納したテーマを設定できない不具合を修正しました。(Ktai Style 1.41 で発生したバグ)
- 画像のファイル名が thumbnail.jpg や 160×120.png のような形式 *ではない* 場合 (image.jpg, sample.gif など)、携帯電話向けサムネール (最大96ピクセル) を作らずそのまま表示していた不具合を改善しました (Ktai Style 1.41 で発生したバグ)。
- コメント時にログインしたとき、コメント投稿後、「cannot redeclare class…」のエラー (クラスの重複定義エラー) が出ることがある不具合を修正しました。
今回は 1.41 で発生したエンバグの修正がメインです。お手数ですが、更新して頂けると幸いです。
[追記] ks_is_flat_rate() に問題があったのでアーカイブを差し替えました。あと、Ktai Style 1.42 に対応した Lightweight Google Maps も今日か明日にはリリースいたします。→リリースしました。
2008-07-09

Masayan さんところで「もし今、WordPressのプラグインフォルダに10個のプラグインしか追加できないとしたら、最低限何を入れますか?」というトラックバック企画が行なわれていますので、乗っかってみましょう。当サイトで使用しているプラグインは、一応自己紹介に書いてある通りならば「7つ」(Akismet, WP-Multibyte-Patch 除く) ですが、実はそこから微妙に増えていて12個になってしまいました。
ということで、そこから優先度の低いものを削ると以下の通りでしょうか。
- Edit Comments XT (Wöhrer 氏作)
- 非ログインユーザーがコメント投稿した場合でも、ユーザー自身が一定時間だけ編集可能とする。
- EventCal (自作・未公開)
- サイドバーのイベントカレンダー。日本の祝日対応
- Force Wave Dash (自作)
- Windows 環境で入力した「全角チルダ」を「波ダッシュ」に補正。
- Ktai Entry (自作)
- メール投稿 (モブログ)
- Ktai Style (自作)
- 携帯電話対応。軽量なページを表示・簡易的な管理機構を提供。
- Reject Short Comments (自作)
- スパムコメント/トラックバック対策。短いコメントやトラックバックを拒否。
- Weather Journal (自作)
- 日付の横に自分で入力したお天気を表示。
- WordPress.com Stats (Skelton 氏作)
- WordPress.com のアクセス統計機能を自分のサイトで使えるようにする。
- Ynet Permalink (自作・未公開)
- 以前の Yuriko.Net におけるパーマリンク体系 (/arc/YYYY/mm/ddX) を実現。
旅行記の方では位置情報と地図が必須なので、拙作のKtai Location および Lightweight Google Maps が追加になります。そのかわり、Ynet Permalink は不要になるため、都合10個に収まります。
同じく拙作の JSeries Notifier ですが、自サイトでは常に最新版が入っているので使う必要がありません。また、サイドバーでアーカイブを年ごとに折り畳む処理は、テーマファイルの functions.php で自作関数 (未公開) を書いているため「プラグインの個数」の制約にはひっかかりません
スパム軽減プラグインのNonce! Please も、テーマの comments.php や functions.php に押し込めることが可能なので、必須プラグインからは外れます。
WordPress 導入以前の Yuriko.Net の見た目・機能を実現するための自作単機能プラグインが多く、他人さんのプラグインは非常に少ないです。これは、「既存のプラグインに満足できるものが少ない」「他人のコードが信用できない」「自分でプラグインを作るのが楽しい」という理由もあります。2番目の理由は結構深刻で、セキュリティーに無頓着なプラグインが結構あるんですよね……。以前、旅行記では「Plug’n Play Google Map」を使っていましたが、地点数が増えると PHP メモリー不足になることと、XSS 脆弱性があったことで、「人気があるプラグインでも信用ならない」ことが分かってしまいました。作者にセキュリティーホールを報告しても梨のつぶてで、これが「自分でプラグインを書く」きっかけとなり、他人のプラグインを入れるのは慎重になりました。
といっても、Edit Comments XT, WordPress.com Stats については、セキュリティーホールがないことのチェックはサボっていますが
[追記] しまった。旅行記の方では「Change Thumbnail Max Side Length」も必須でした (WordPress コア改造で逃げるか、テーマの functions.php に移設する手もありますが)。そのままだと11個になってしまうので、WordPress.com Stats を外すことにします。