Google Crisis Response(Google)
災害に関する情報源や、行方不明者情報の収集と検索を行う『パーソンファインダー』を初めとするツールの提供が行われています。

2009年6月14日 日曜日

ClickComments がサービス終了

Filed under: WordPress
タグ:,
時間:19時27分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

アイコンをクリックするだけで感想を投稿できる ClickComments というサービスを利用していましたら、いつの間にか終了してしまっていました。

専用の WordPress プラグインで記事の下に表示していたのですが、いつの間にか表示されない状態に。一時的な問題かと思って様子を見ていましたが、いつまでも直らないので調べてみたら表示のためにサービスサイトから読み込む JavaScript ファイルが Not found。

サービスサイトを見に行ってみると、長期のサービスをサービスを続ける余裕がないために無期限に終了するというメッセージが表示されていました。

Unfortunately, postreach ClickComments has been shut down indefinitely because we can no longer afford to keep it running.

クリックして下さる方もいらしたので残念ですが、プラグインを停止しました。
同じようなサービスをご存知でしたら、ぜひコメントをください。

Comments (0)

2009年5月31日 日曜日

PHPバージョンアンケート

Filed under: AmazonLink,プログラミング
タグ:,
時間:3時21分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

AmazonLink を Product Advertising API(旧 Amazon アソシエイト Web サービス)に対応させるに当たり、PHPのバージョンの傾向を知るためのアンケートを開始しました。アンケートはサイドバーにも掲載されます。

PHPは4.x がすでに公式に開発終了となっていますが、まだまだ生き残っています。5.x に移行するべきではありますが、サーバー側で対応していなければどうしようもありません。大手レンタルサーバーはすでにかなり対応していますが、4.x しか使えないところも残っているようです。

現時点でどれくらいのサーバーが移行できているのかを知ることが目的です。ご協力よろしくお願いします。

メインサーバーで使えるPHPのバージョンは?
View Results
Comments (0)

2009年5月10日 日曜日

”Amazon アソシエイト Web サービス”が”Product Advertising API”に

Filed under: AmazonLink,アフィリエイト,プログラミング
タグ:, , , , , , ,
時間:17時46分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

Amazon.co.jp からいろいろな情報を取得することができる”Amazon アソシエイト Web サービス”というサービスがありますが、”Product Advertising API”という名称に変わるとのことです。そして、情報のリクエストには署名による認証が必要になるとのこと。

拙作 WordPress プラグインの AmazonLink でもこのサービスを使用しているので他人事ではありません。

基本方式はほとんど変わらないとのことですが、認証で使用する電子署名の作成には、開発者登録をしたときに作成した Secret Access Key というものが必要になるようです。リクエスト時のデータによって変わるため、電子署名データだけをプログラムに埋め込んでおくことができません。また、Secret Access と言うくらいなのでこれを公開するのも駄目でしょう。

詳しい情報がまだ得られていないのでなんとも言えませんが、ただ使うだけの人にも開発者登録をしてもらわないと駄目になるかもしれません。

今のところは、たつをさんによる記事が一番詳しそう。

電子署名データの作成には RFC 2104-compliant HMAC with the SHA256 hash algorithm という変換処理のようなものが必要で、これを行うための関数である hash は PHP5 でないと標準では使用できません。PHP4 はすでに終了宣言が出ているのですが、まだ PHP5 が使用できないサーバーもあるので悩みどころです。

Comments (0)

2009年1月18日 日曜日

【重要】不正アクセスを受けました

Filed under: WordPress,重要
タグ:, ,
時間:23時40分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

不正アクセスを受けていたようです。現時点で判明している被害と行った対策は次のものです。

不正投稿

内容

先日、投稿した記憶のない記事がRSSに含まれていることに気がつきました。実際に過去の日付で投稿されており、不正アクセスをされたと結論付けました。

記事の内容は、違法またはセキュリティ的に危険な内容のサイトへの誘導と思われます。幸いタグが間違っているためにリンクにはなっておりませんでしたが、すぐに記事は削除いたしました。

対策

どのような形で投稿が行われたのかは不明ですが、WordPress を2.6系の最新バージョンへアップグレードいたしました。また、XML-RPC などの外部から投稿を可能にする機能は無効にしてあります。

テンプレートファイルの書き換え

内容

テンプレートファイルの footer.php に大量の隠しリンク(スタイルシートで非表示にしてありました)を記入されていました。本来4KBほどのサイズなのですが、記入されたファイルは1MB弱になっていました。

書き込まれた内容は、やはり外部サイトへのリンクでした。隠しリンクになっていましたので、検索エンジンロボットを対象としたものでしょう。
リンクの中には WordPress を使用したサイトと思われるものも多数ありましたので、WordPress を使用しているサイトが狙われている可能性があります。ユーザーの方は、書き換えが行われていないか確認することをお勧めします。

対策

追記された部分については、すでに削除してあり、そのほかのテンプレートに関しても確認を行いました。

また、管理画面から編集可能にするためファイル属性を666(誰でも書きこめる状態)にしてあったため、危険であると判断して644(ファイルの所有者のみが書きこめる状態)に変更しました。

Comments (0)

2008年11月29日 土曜日

WordPress 用プラグイン monthchunks のバグを修正

Filed under: WordPress,ハック,プラグイン
タグ:, , ,
時間:3時45分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 このブログでは、月ごとアーカイブをコンパクトに表示してくれるプラグイン monthchunks を使用していますが、記事がないのに表示されている月があることが判明しました。

 問題の月は、2006年の9月。Google ウェブマスターツールのリンクエラー報告によると、76箇所で表示されているとのこと。さすがに数が多いので、本腰を入れて調べてみることにしました。久しぶりのプラグインハックです。

 何はともあれ、まずはプラグインのコードを読みます。使用しているバージョンは、最新の2.1。関数が1つ定義してあるだけでコメントを含めても154行と非常に短いので、初めてのハックにはお勧めかもしれません。

 大まかな流れは、SQL 文を生成して実行するだけ。オプションによって多少分岐がありますが、上から追いかけていけば大したことはありません。101行目からと114行目(110行目から始まる foreach の中)からの2箇所でデータベースにアクセスしています。1箇所目は記事のある年度の取得、2箇所目は各年度別に記事のある月の取得をしています。

  1. // get an array of the years in which there are posts
  2.     $wpdb->query("SELECT DATE_FORMAT(post_date, '%Y') as post_year
  3.                  FROM $wpdb->posts
  4.                  WHERE post_status = 'publish'
  5.                  GROUP BY post_year
  6.                  HAVING post_year <> '0000'
  7.                  ORDER BY post_year $year_order");
  8.     $years = $wpdb->get_col();
  1. // get an array of months for the current year without leading zero
  2.         // sort by month with leading zero
  3.         $months = $wpdb->get_results("SELECT DATE_FORMAT(post_date, '%c') as post_month,
  4.                                      $month_format AS display_month,
  5.                                      DATE_FORMAT(post_date, '%M') as post_month_name
  6.                                      FROM $wpdb->posts
  7.                                      WHERE DATE_FORMAT(post_date, '%Y') = $year
  8.                                      AND post_status = 'publish'
  9.                                      GROUP BY DATE_FORMAT(post_date, '%m')
  10.                                      ORDER BY post_date");

 今回問題になっているのは月の情報なので、2箇所目を詳しく見ていきます。PHP のコードと SQL が混在してわかりにくいので、最終的な SQL 文を記述してみます。オプションを特に指定しない場合は、次のようなものが出来上がります。(改行やインデントなどを加えてあります)

  1. SELECT
  2.     DATE_FORMAT(`post_date`, '%c') AS `post_month`,
  3.     DATE_FORMAT(`post_date`, '%c') AS `display_month`,
  4.     DATE_FORMAT(`post_date`, '%M') AS `post_month_name`
  5. FROM `wp_posts`
  6. WHERE
  7.     DATE_FORMAT(`post_date`, '%Y') = 2006
  8.     AND post_status = 'publish'
  9. GROUP BY DATE_FORMAT(`post_date`, '%m')
  10. ORDER BY `post_date`;

 実際にこの SQL 文を手がかりに検索してみると、記事ではなく固定ページが見つかりました。記事と固定ページを区別していないため、固定ページしかない月も表示してしまっていたのです。

 ここまでわかればあとは簡単。検索条件に記事であることを加えればいいのです。記事の場合は post_type というフィールドの値が post となるので(WordPress 2.1以降)、post_type = 'post' を加えます。変更後は次のようになります。私は120行目に加えました。

  1. // get an array of months for the current year without leading zero
  2.         // sort by month with leading zero
  3.         $months = $wpdb->get_results("SELECT DATE_FORMAT(post_date, '%c') as post_month,
  4.                                      $month_format AS display_month,
  5.                                      DATE_FORMAT(post_date, '%M') as post_month_name
  6.                                      FROM $wpdb->posts
  7.                                      WHERE DATE_FORMAT(post_date, '%Y') = $year
  8.                                      AND post_status = 'publish'
  9.                                      AND post_type = 'post'
  10.                                      GROUP BY DATE_FORMAT(post_date, '%m')
  11.                                      ORDER BY post_date");

 これにより、その年の公開されている記事という条件で絞り込むことができるようになりました。現在2006年の9月は表示されなくなっています。

2010年6月21日追記

prioさんからコメントをいただきましたので、年度の表示についても追記します。確認はしていませんので、参考程度にどうぞ。

100行目からの年度のコードを見ると、月の取得同様に固定ページも含むようになっています。SQLにしてみるとこんな感じ。

  1. SELECT
  2.     DATE_FORMAT(post_date, '%Y') as post_year
  3. FROM `wp_posts`
  4. WHERE
  5.     post_status = 'publish'
  6. GROUP BY post_year
  7. HAVING post_year <> '0000'
  8. ORDER BY post_year DESC

記事の投稿に限定する条件を加えると次のようになります。

  1. // get an array of the years in which there are posts
  2.     $wpdb->query("SELECT DATE_FORMAT(post_date, '%Y') as post_year
  3.                  FROM $wpdb->posts
  4.                  WHERE post_status = 'publish'
  5.                  AND post_type = 'post'
  6.                  GROUP BY post_year
  7.                  HAVING post_year <> '0000'
  8.                  ORDER BY post_year $year_order");
  9.     $years = $wpdb->get_col();

104行目が追加した行です。意味については、月の場合と同じです。

Comments (2)

2008年11月15日 土曜日

アンケートを設置しました

Filed under: WordPress,プラグイン
時間:16時10分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 WordPress のシェアを知りたかったので、アンケートを設置しました。右ペインのカレンダーの下にありますので、気が向いたらお願いします。

 アンケートは、Democracy AJAX Poll というプラグインを使用しています。Ajax を使用することで、ページのリロードなしで投票できます。導入方法などについては、ぼのさんによる記事が参考になると思います。

 なお、日本語リソースは配布していたサイトが閉鎖してしまったため導入していません。普通に日本語が使えましたので、とりあえずはこのままで行く予定です。

Comments (0)

2008年8月21日 木曜日

レイアウトを変更しました

Filed under: WordPress
時間:7時15分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 久しぶりにこのサイトのレイアウトを変更しました。3カラムなのは同じですが、左にあった広告スペースを中央に移動しました。

 本文のカラムの幅が中途半端でいやだったので、設置が必須である Value-Domain のバナーの幅に合わせました。これに伴い、記事本文下のアフィリエイトの形状を変更してあります。

 余白を減らしたこともあってスペースがかなり余ったので、その分右のカラムの幅をかなり広くしました。『最近のエントリー』が改行されにくくなったので、以前よりは見やすくなったのではないでしょうか。

 細かいところでは、フォントのサイズや行間の調整をしました。また、見た目には変化ありませんが、Google AdSense のコードを Google で管理できるものに差し替えたり、AmazonSearch中継君経由にしたりもしています。

 表示確認は以下のブラウザで行っています。

  • Internet Explore 6(Windows XP)
  • Internet Explore 7(Windows Vista)
  • Firefox 2.0.0.16(Window Vista)
  • Firefox 3.0.1(Windows XP)
  • Opera 9.25(Windows Vista)
  • Opera 9.25(Windows XP)
  • Safari 3.1.2(Windows Vista)

 一通り確認しているので Windows では大丈夫だと思いますが、Mac 環境では崩れているかもしれません。環境がなくて見ながら修正ということができないため、その場合はごめんなさいとなってしまうと思います。

Comments (0)

2008年8月13日 水曜日

WordPress 2.6 の投稿ページはシステムが変わったらしい

Filed under: AmazonLink,WordPress
時間:0時15分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 久しぶりの WordPress ネタです。ちょっとだけですが・・・。

 昨日、拙作プラグインの AmazonLink のテストをするために、ローカル環境に WordPress 2.6 をインストールしました。そして、ざっと管理画面を眺めたらおもむろに AmazonLink をインストール。真っ先に記事投稿ページへ飛んで、フォームが表示されていることを確認。早速検索!

 「wordpress」(テストはいつもこれです)とキーワードフォームに打ち込んで、エンター!

 クルクルとあの画像が回転し始めそのまま待っていると、なぜか記事管理ページへ。投稿されてしまったようです。ここは検索結果が出るだけで画面遷移は起こらないはずなのですが。

 とりあえず戻ってキーワードを入力。今度は検索ボタンをクリック。でも何も起こりません。検索は始まらないし、送信中でもなさそうです。この瞬間頭の中は疑問符がいっぱいでした。

 ここでふと思い出したのが、2.6では submit は専用の JavaScript プログラムを経由することが推奨されているとどこかに書かれていたはず。どうやら簡単には動いてくれないようです。

 すでに2.6にしてしまった方ごめんなさい。対応は2.0以降にします。

2008年8月14日 追記

JavaScript ではなく PHP だったようです。

 よくわかりませんが、アクションフックに登録すればいいんでしょうか。日本語での詳しい説明がほしいところです。

Comments (1)

2008年7月27日 日曜日

Re: MovableTypeからWordPressに乗り換えた理由

Filed under: WordPress
時間:10時48分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 久しぶりにトラックバック企画に乗ってみることに。

 私の場合は、MovableType のライセンス体系変更がきっかけでした。3.0 からはもしかすると有料ライセンスに変更する必要があるかもしれない(どうやらこれは勘違いだったようですが)ということから、別のブログシステムに乗り換えるべきではないかと考えたのです。

 また、記事が増えるほど再構築に時間がかかるようになるという MovableType の仕様も気になっていました。現在のバージョンは再構築が不要になるようにすることもできますが、当時はまだ再構築が必須でした。

 記事では1ヶ月ほど同時進行でとありますが、実際は数週間で乗換えとなりました。このころはメインで使用するプログラム言語が Perl から PHP に移っており、コアファイルからテンプレートまでが PHP で構築されている WordPress は、私にとってかなりいじりやすいものだったのです。凝り性なので、いじりやすいことは重要でした。

 テンプレートがファイルとしての実体を持つ点も気に入っています。MovableType のテンプレートは、データベース上にあるデータでしかありません。ファイルという実態があるほうがいろいろと便利なのです。

 というわけで、有料になるのが嫌で試しているうちに、すっかり WordPress が気に入ってしまったというのが私の理由です。

Comments (1)

2008年7月21日 月曜日

最強本再び 『WordPress 2.5 でつくる! 最強のブログサイト』

Filed under: WordPress,書籍
時間:15時32分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 WordPress 界隈の方はすでにご存知かと思いますが、我らがひろまささんによる新たな WordPress 本が出版となりました。全面改訂で、60ページ以上ボリュームアップとのこと。

 すでにこのシリーズで2冊出ています。どちらも WordPress を使い始める一般向けという内容でしたが、今回のはプラグインの開発などまで視野を広げられていて、開発者人口を増やすことに貢献してくれるのではないでしょうか。

 プラグイン開発の章では、2.5から導入されたショートコードプラグインについても解説されています。正直、この部分だけで読まなくてはと思いました。拙作の AmazonLink がまさにショートコードなのです。

 今日買いに行こうかと思っていたのですが、昨日の夕方に突然の献本が。実は前回もいただけていて、そのときは予め知らされていました。でも、今回はまったくの不意打ち。楽しく読ませていただいております。

Comments (0)
Page 3 of 1812345...10...Last »

HTML convert time: 3.600 sec. Powered by

Images is enhanced with WordPress Lightbox JS by Zeo