カテゴリー
社会

ワードプレスのソースコードから8年間懸案の変数名「おしっこ」が除去

ブログツールとして世界中の多くのサーバで使われている WordPress のソースコードの、数限りなくある中のちょっとした修正は、変数名の”pee”と”tinkle”を書き換えるというものでした。


-442 function wpautop( $pee, $br = true ) {
+442 function wpautop( $text, $br = true ) {

wpautop()という関数は、ブログ記事のテキストに2行以上の改行があった時、それを<p>タグに置換する、という働きをします。

「WordPress(wp) が自動(auto)で p(タグ)をつける」といったあたりから命名された関数だろうと思いますが、WordPress の歴史は長いのでこの関数も昔から存在していたようです。

それで、この関数を書いた誰かは「オートでPする」の響きからの連想か、引数名に $pee(しっこ、幼児語)を使う言葉遊びをしてしまったようですね。

その後のどこかの時点の修正で $pees をループで一つずつ処理する際に、取り出す変数を $tickle (こちらも しっこ、幼児語)が使われています。

# tinkle というとリトルスターぐらいしか連想しませんが、そんな意味もあるんですね。

WordPress の公式バグ管理システムからは、8年前のチケットで初めてこの二つの変数名についての指摘がなされたことがわかります。

8年前は lead developer らから「単なるプログラマージョーク」「ユーモアを消すことはない」などと相手にされなかったようですが、3か月前にチケットが再オープンされ、今回は修正するということになったようです。

コードの差分を見るとわかるように、大量に修正箇所はありますが基本的に変数名と関数名の置換がほとんどです。$pee は #text に置き換えられていて、たしかに $pee よりはこれが何を保持しているのかわかります。

今回修正が通った際の core committers の反応は、「ワードプレスの成長に応じて、コード中のジョークやユーモアに対する耐性は減っていると思われる」「より多くの人をインクルーシブに受け入れることは重要」といったようなもの。

まとめると

  • 英語圏の人にしかわからないジョーク
  • 変数には変数の役割を表す名前を付けた方がコードを読む人の助けになる
  • 不快な人もいるならユーモアで済ませられない

といったあたりでしょうか。「個人としては気にしない/好きだが WordPress がこのことで避けられると困る」みたいな人もいるかもしれません。

時代の変化かもしれませんし、8年前の却下が妥当だったか、今回の修正が妥当だったかも人によって意見はわかれるかもしれません。ソースコードやコメントで遊ぶというのはプログラマーなら身に覚えのある人は多いと思いますが、完成品ではなくコード自体が広く配布される場合、遊んだ内容が誰かを不快にするものではないかという意識もあったほうがいいんでしょう。

WP Tavern via reddit/programming

カテゴリー
ネットの事件

有名WordPress プラグインのYoast SEO、500万+のブログ管理者に望まぬバナー広告を表示

Yoast SEOといえば、ワードプレスのSEO対策をしてくれるプラグインで最も有名なもののひとつです。

そのプラグインが、北米の国民的特売日であるブラックフライデー前に、ワードプレスの管理画面に派手な広告バナーを勝手に表示した、として騒ぎになっています。

バナーのサイズは 1015px x 102px、しかもYoast プラグインのページではなく管理画面のどのページにいっても表示されたそう。

Yoastプラグインのサポートフォーラムもたいへんなことになってます。

無料で使えて信頼もあり、2万5千件以上ある過去のレビューのほとんどは星5つなのですが、今回の件で雪崩のような不評コメントが延々と続いています。

WordPress のプラグインサイトによれば、アクティブなインストールが500万以上あるということで、この広告を見せられたブロガーの数もたいへんな人数になるでしょう。

高品質のワードプレスpluginによくある、追加機能を有料で買えるフリーミアムなビジネスモデルでやっているようですが、有料ビジネスがうまくいっていないのか、広告バナーを一斉配信できる立場での誘惑に逆らえなかったのでしょうね。競合プラグインもあるので、人気や勢力図の入れ替わりもあるかもしれません。

カテゴリー
ネットの事件

ワードプレステーマ販売の Pipdig が、顧客サイトを使って競合にDDoSを掛けていた

ブログツール WordPress の有料デザインテーマを販売する Pipdig が、販売したテーマの中に競合製品の妨害をするなどのコードを隠し入れていた、ということで騒ぎになっています

イギリスのジェム・ジャベラ氏(Jem Jabella)のレポートが口火を切った疑惑は、Pipdig の売っているテーマが利用している Pipdig Power Pack (P3) プラグインの動作に関するもの。

さまざまな「特権的」コードの混入

「有料テーマを買って入れたら、ワードプレスのサイトがおかしな挙動を示すようになった」と顧客から調査を頼まれた彼女は、サイトがひどく遅くなっていることに気づきます。P3 プラグインがその原因だろうと突き止めた彼女は、P3が以下のようなことをしていると突き止めたと言います。

  • 利用者ブロガーのサーバーを使って、競合のウェブサイトに DDoS を掛ける
  • 利用者ブロガーのコンテンツ内のリンクを変更し、競合サイトの紹介リンクをPipdig へのリンクに変更する
  • GDPR違反となるような許可の無い利用者ブログの情報を収集する
  • 管理者パスワードを変更して利用者ブログへのアクセス権を得る
  • データベースの全テーブルを削除するスイッチを内蔵
  • Pipdigが不要と判断する他のプラグインを、ユーザーに問い合わせることなく無効化
  • ワードプレス本体や他のプラグインが出す警告を隠す

ジェムさんはこれらのコードの該当部分それぞれを記事中で解説していますが、実際の実行コードを外部のサイトから取得して動かしていたりする作りもあり、ある時点でその外部コードを調べても空ファイルだったり、無害なコードだったりと、すぐには何をしているのかわからないように工作されているようです。

管理者のメールアドレスをテキストファイルに出力し、そのログインパスワードを変更する機能などもあり、これが(WordPress に詳しくない)ユーザーをサポートする際に使おうという機能ではないかという擁護もありましたが、サポートを依頼したユーザーだけでなく全利用者に対して使えるようになっていることなど、Pipdig に対する疑念が表明されています。

別の操作。Bluehost という競合のテーマが有効になっていたら、そのキャッシュ機能を切り、WordPress公式に偽装したドメインに置いたコードを実行した上で「サイトが遅くなってますか?」というメッセージを表示させてた、というもの。

告発を受けたバージョンのソースコードのミラー。Pipdig 社はすでにいろいろなコードを削除した新バージョンを公開しているので、証拠保全用に前の問題があるバージョンを保管した人がいるようです。

Pipdig の「弁明」

Pipdig はブログで公式な声明を出しています。

彼らはたった4人の小さな会社で、猫の画像が好き。テーマをコピーして売ろうとする盗作が起こり、その対策としてコードを入れた、等、悪意でやったものではないと書いています。

また、停止させた他のプラグインのリストと、停止させた理由も書かれています。

一つ一つの理由を見れば、隠し入れられたすべての機能が最初から悪意を持って入れられたものではないのかもしれません。競合の排除やリンクの変更はそれでも弁明不可能に思いますが。

こういろいろと揃ってみると、購入者のワードプレス/サーバに対して自分たちのものであるかのように自由に操作しようとしている感じがあり、名誉回復は難しいのではと感じます。

ジェムさんは Pipdig を「ワードプレス有料テーマ販売の大手の一つ」と書いていますが、日本語で宣伝や販売をしていた感じでもないので、日本にはそれほどユーザーがいないのかもしれません。もし使っている場合は、Pipdig 社が出したこれらの機能を削った最新版に更新するか、彼らが信用できなければ他社のものに変更した方がいいかもしれません。

via Wordfence, Hacker News