2008年7月15日の投稿

使うべきでないプラグイン12選
トラックバック企画「WP2.5に入れるプラグイン10選」ですが、中間集計が始まったようなので、「使うべきでないプラグイン10選」を挙げてみたいと思います (追記: ヤバいものが増えてしまい、12選になりました) Masayan さんはこういうリストアップを好まないと思いますが、「やばいものは避けよう」という注意喚起としてあえて出してみます。もし、自身で使っているプラグインが該当していると不快になるかもしれませんが、セキュリティー向上のための情報ですので、気を悪くされないようにお願いします。
危険なプラグイン
以下のプラグインは、セキュリティーホールがある/ありそうなため、即座に使用停止した方がいいものです。
- WP MOBILE
- デジタルスタジオ製のモバイル対応プラグインです。当サイトでは度々危険性を告知しています。当初発見された脆弱性は塞がれていますが、まだ突破口があるのでないかと思われます。また、WordPress 2.3 以降には未対応なこと、IE, Firefox, Opera 以外の PC 向けブラウザー (Safari など) では閲覧できない、という重大な問題があります。(Safari ユーザーお断りサイトができてしまう
(追記: このプラグインがあまりにふがいないため、Ktai Style の開発を始めました。Ktai Style の普及のために WP MOBILE を叩いているのではありません)
- Plug ‘n’ Play Google Map
- Lightweight Google Maps の前身である Google 地図対応プラグインです。XSS 脆弱性があること (作者に報告しても梨のつぶて)、位置情報が多くなると PHP およびブラウザーのメモリエラーになること (16MB だと 1000個が厳しい) などの問題があります。(追記: こういう問題があるので、Plug ‘n’ Play Google Map の使用をあきらめて自作することにしたのです)
デッドリンクチェッカーまだベータ版なので、ここに挙げるのはかわいそうなのですが、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 だと動きません)。
- (追記: WordPress 2.3 以降で「ブログのパーマリンク」が「使用しない」の設定の場合、標準 URL (Canonical URL) の仕組みにより、パーマリンクを使った URL に常にリダイレクトがかかってしまいます (ドコモ携帯ではダイアログが出ます)。また、前後ページのナビゲーションで URLGATE 経由になってしまいます。「使用する」に設定すればどちらも回避できます)
- (追記その2: Ktai Style 開発動機のもう1つの理由が、「Mobile Eye+ の挙動が好みと違う」ことでした (まおうさんも「かなり自分仕様な設計」と明言されています)。わたしには「ページ分割機能がない」「パケット節約が十分でない」「コメントとトラックバックを強制的に分離する」「スマイリー画像をそのまま出す機能がある」などは不満でした。このため「もっといいものが作れるんじゃないか」と考えて、携帯対応プラグインの開発を検討したのです。その後、「アダルト広告問題」が発覚したため、Mobile Eye+ も非難せざるを得なくなってしまいました。これは残念なことです)
お行儀が悪いもの
以下のプラグインは実装が凶悪で、他のプラグインに悪影響を出すものです。
- 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-27 22:45] WP MOBILE, Plug ‘n’ Play GoogleMap と Mobile Eye+ と拙作プラグインの関係について、本文中に追記しました。既存品に問題や不満があったため代替品を作ったという経緯なので、それらを非難するのは必然なわけです……。
WordPress 2.6 出てしまった
さきほど、WordPress 2.6 がリリースされたようです。まだ trac にチケットが多数残っていたはずなのに、リリース予定日を優先したようですね。少なくとも、WP_CONTENT_DIR, WP_PLUGIN_DIR 定数の変更によるディレクトリー変更機能はまだ使いものにならないと思います
日本語版は数日かかるでしょうから、それが出てからテストサイトに入れて拙作プラグインの確認を行い、当サイトに適用するか検討してみます。
[追記] 残っていた 760件のチケットはすべて 2.9 (!) に延期されていました。これは報告者が各自重要度に応じて 2.7 とかに戻せということですよね? (Y/y)
フィードから del 要素を除去するプラグイン Delete Del
フィードから 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 コアの問題のため、改善はほぼ不可能です。