wordpressで更新をかけて失敗してもう一度更新をかけたりすると「別の更新が現在進行中です。」なんて文言が出てきて15分ぐらいしないと再度更新処理ができないという仕様がかなりイラッとするけど設定で回避策がなさそうだから直接コードを書き換えるの巻

このサイトはwordpressを使っている。ときどきwordpress本体の更新がかかるが、更新をかけてから、何らかの理由で処理が失敗することがある。で、そのあともう一度更新をかようとすると「別の更新が現在進行中です。」という文言が出てくる。何度更新ボタンを押してもだめ。「しばらくしてから」って、いったいどのくらいだよって思ってググると、みなが口を揃えて「15分ぐらいしないと」と記載している。しかし、急いで更新して外出したいのに、そんな15分なんてハンパな時間は待ってられない!重複して更新処理が走るのを回避しているという実装はわかるが、自分一人でしか面倒みてないブログなので、ぶっちゃけイラッとするのだ。ということで、強制的に処理を進めさせるべく、コードを一部修正して更新を継続させる。 “wordpressで更新をかけて失敗してもう一度更新をかけたりすると「別の更新が現在進行中です。」なんて文言が出てきて15分ぐらいしないと再度更新処理ができないという仕様がかなりイラッとするけど設定で回避策がなさそうだから直接コードを書き換えるの巻” の続きを読む

WordPressを手動でアップデートしたらなぜか投稿設定が無効になっていたらしく「続きを読む」リンクなどの先がことごとく404になってしまっていてアクセス数激減してしまった(TT)

サイトの問題なのかサイトで確保している容量の問題なのかわからないが、私がここで使用しているWordpressの更新が自動でできなくなって久しい。そこでほぼ毎回ja版が出るたびに手動で更新をかけている。 “WordPressを手動でアップデートしたらなぜか投稿設定が無効になっていたらしく「続きを読む」リンクなどの先がことごとく404になってしまっていてアクセス数激減してしまった(TT)” の続きを読む

脆弱性華やかなりし、立て続けに様々なセキュリティホールと対策パッチがリリースされている

今週は立て続けにセキュリティホールのパッチやら脆弱性パッチやら定例パッチやらがリリースされて、人によっては大忙しだったのではないだろうか。一応週末ということで、脆弱性情報についてのおさらいをしておきたい。 “脆弱性華やかなりし、立て続けに様々なセキュリティホールと対策パッチがリリースされている” の続きを読む

[20130913 追記あり] WordPress 3.6.1がリリース、セキュリティフィクスも含まれるので早めの更新を、ただし執筆時時点で日本語版はリリースされていない模様

ブログ・CMSプラットフォームで有名なWordPressの3.6.1がリリースされた。セキュリティに関する修正も含まれているので、早めの更新をしたい……ところだが、執筆時時点でまだ日本語版のリリースはされていない。2013年9月13日0時時点で日本語版もリリースされている。 “[20130913 追記あり] WordPress 3.6.1がリリース、セキュリティフィクスも含まれるので早めの更新を、ただし執筆時時点で日本語版はリリースされていない模様” の続きを読む

WordPress 3.5.2以前にクロスサイトスクリプティングの危険性、利用者は早めの更新を

先日、私のサイトでも更新を行ったが、WordPress 3.5.2がリリースされた。XSS脆弱性を有しているとのことで、早めの対策が求められる。WordPress利用者はブログだけに限らずCMS的に利用しているサイトも多いようだ。攻撃対象が広く分布しているアプリケーションほど狙われやすいと思うので、うちは大丈夫などという根拠のない腹をくくらず、10分だけ時間を作って管理者画面から更新を行おう。 “WordPress 3.5.2以前にクロスサイトスクリプティングの危険性、利用者は早めの更新を” の続きを読む

WordPressの抜粋表示プラグイン「Thumbnail for Excerpts」が日本語対応じゃなかったので対応してみた

このブログはWordPressを使っている。プラグインもそれなりに充実しているし設定も簡単なので重宝している。
テーマはデフォルトのTwenty Elevenを使っているけれど、特に不満らしい不満はない。ただ、トップページ(Home)の表示が全記事表示になってしまっていて、長い記事を書くとかなりウザい状況になる。なので、記事の最初の方だけ表示する抜粋表示をするように調整するためのプラグインを探してみた。 “WordPressの抜粋表示プラグイン「Thumbnail for Excerpts」が日本語対応じゃなかったので対応してみた” の続きを読む

mandigo 1.37 has been released

9/6にリリースされていた模様。

■Download Mandigo 1.37
http://www.onehertz.com/download/wordpress/mandigo/archives/mandigo-1.37.zip

ワシが提供したパッチをもとに修正されているのかどうか確認も含めて、mandigoをバージョンアップ。
含まれておった。
パッケージ内のREADME.txtには

* fixed the datestamps not showing up correctly in japanese

と記載。この部分ですな。
一応ソースを見たら「(hi Atsushi!)」と書いてくれている。大したパッチじゃないんだが、なにげにうれしいかも。diffを確認してもわかる。

送ったパッチでは、セパレータはカンマにしていたが、一般的に使われないセパレータを選ぶという返事があった通り、|がセパレータとして選ばれていた。あとは日本語特有の問題ということで、言語判定をしてから余分な空白除去を行っている。

WordPress 2.6.2がリリース

英語版は今週月曜ぐらいからリリースされているのだが、日本語版がまだだった。
今日確認したら出ていた模様。あとで作業しよ。

■Wordpress 2.6.2をダウンロード(tar.gz)
http://ja.wordpress.org/wordpress-2.6.2-ja.tar.gz
■Wordpress 2.6.2をダウンロード(zip)
http://ja.wordpress.org/wordpress-2.6.2-ja.zip

利用方法によっては脆弱性を含むので、アップデートが求められている。

■WordPress 2.6.2
http://ja.wordpress.org/2008/09/09/wordpress-262/

ユーザー登録を開放している場合、2.6.1 およびそれ以前のバージョンの WordPress では、他のユーザーのパスワードをランダムに生成されたものにリセットできる細工されたユーザー名での登録が可能になってしまいます。このランダムなパスワードは攻撃者には分かりませんので、この問題だけを見ると迷惑な行為ではありますが、セキュリティ上の弱点とはなりません。しかし、この攻撃とランダム数シーディングにおける mt_rand() の弱点を組み合わせると、パスワードを予想するために利用されてしまうこともあり得ます。エッサー氏は後ほど完全な攻撃に関する詳細を公開する予定です。この攻撃を実行するのは難易度が高いですが、可能性があることを考えると 2.6.2 へのアップグレードをおすすめします。

いくつかのニュースリリースも。US-CERT Current Activityも出ていた。

■WordPressのアップデート公開、複数の脆弱性に対処
http://www.itmedia.co.jp/news/articles/0809/10/news038.html

■WordPress Releases Version 2.6.2
http://www.us-cert.gov/current/index.html#wordpress_releases_version_2_61

WordPress Releases Version 2.6.2
added September 9, 2008 at 08:47 am

WordPress has released version 2.6.2 to address multiple vulnerabilities. These vulnerabilities are due to SQL column truncation and weaknesses in random number generation. Combined, these vulnerabilities may allow an attacker to reset a user’s password and possibly predict the newly generated password. Exploitation of these vulnerabilities could permit an attacker to gain access to a system running WordPress with open registration enabled under the context of a legitimate user.

US-CERT encourages users to review the WordPress Blog entry related to these issues and upgrade to version 2.6.2 as necessary.

誤訳:
WordPressのバージョン2.6.2がリリース
掲載 2008年9月9日 AM08:47

WordPressは複数の脆弱性を修正したバージョン2.6.2をリリースした。これらの脆弱性はSQLカラムトランケーションと乱数生成関数の弱点が原因による。組み合わされると、これらの脆弱性は攻撃者にユーザのパスワードリセットや新しく生成されたパスワードの予期可能性を許可する可能性がある。これらの脆弱性の悪用は、適正なユーザの設定下においてオープンレジストレーションが有効にされている場合、攻撃者にWordPressが稼働しているシステムへのアクセス付与を許可する可能性がある。

US-CERTは利用者に、これらの問題に関するWordPressブログエントリの確認と、必要に応じたバージョン2.6.2へのアップグレードを推奨する。

Mandigo作者から返事

Mandigoの件。
パッチをメールした返事が来た。
まぁ、適当に調整して取り込むよー、ありがとなー的な(笑)。

指摘をありがとう。その問題は気がつかなかったよ。次のリリースでは、たぶん一般的じゃないセパレータで修正したものを含めるよ。

Mandigoを選んでくれてありがとう!

Mandigoの日付表示がおかしい

このブログはWordPressを使っている。いい加減テーマがださいので、よさげなやつを探して調整していたら、Mandigoなるクールなものを見つけた。

割と気に入ったので、見出し部の写真(7色分あって自由に選択可能)は、デフォルトのものから自分の撮影写真に置き換えて調整。

しかし、日付表示がどうしてもおかしい。
最初気がつかなかったが、なんかおかしい。

テーマはPHPで構成されているので、PHPをつらつら眺めてみると、get_the_time()で返される値は正しいのに、その返り値をそのままテーマ独自関数であるmandigo_date_icon()に渡した後の処理がおかしい。
echoデバッグをしてみると、どうやらget_the_time()で返される値が「年 文字月 月の数値 日」というフォーマットで半角スペース区切りになっていて、これをexplode()で分割している。たとえば「2008 Aug 8 20」という具合に。
ところが日本語として認識した場合、WordPressが返すのは「2008 8 月 8 20」のようになっているのだ。問題は「8月」なのに「8」と「月」の間に空白が空く。これがPHP側の問題なのかWordPress側の問題なのか、いちいち調べるのは面倒くさかったので調べなかったが、この空白によってexplode()によって分割割り当てされる要素が1つ分ずれて「2008」「8」「月」「8」「20」のようになってしまった(期待値は「2008」「8月」「8」「20」ないしは「2008」「Aug」「8」「20」)。

というわけで、わかる範囲でコード修正。っていうほど、おおげさなことしてないが。
一応パッチ作って作者にメールはしておいたが、日本語以外でどうなるかわからんので、日本語だけで使うほうが無難なのかもしれない?ま、必要なら作者も取り込むでしょ。

パッチは一応ここに掲載しておく。あ、バージョンは1.36.2ね。
たぶんpatch -p1 < this .patchとかでいけるはず。たぶん。