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

2007年10月21日 日曜日

日本語じゃないマルチバイトスパム

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

 このサイトの場合、スパムのほとんどはシングルバイト文字のみです。つまりは、非日本語スパムがほとんどを占めています。そこで、間違ってスパムではないものを Akismet が捕獲してしまっていないか確認するために、マルチバイトのコメントだけを表示できるようにしています。以前は自作のプラグインを、現在はひろまささんによる akismet-multibyteview を使用しています。

 プラグイン導入により平穏な日々をすごせていたのですが、最近その平穏を脅かす存在が現れました。それは、マルチバイトの非日本語スパムです。

 ポルトガル語かスペイン語らしい言語で書かれていて、作文なんじゃないかと思うほど長いものです。また、スペイン語版Googleのアドレスと、ポルトガルドメインのメールアドレスを伴い、83.*.*.* のIP アドレス(ヨーロッパ圏に割り当てられているようです)からやってきます。定期的に来ているようで、常に8件あります。

 もともとコメントもトラックバックも少なく、スパムでない外国語のものがあったことはありません。思い切って、特に多い IP アドレス範囲を拒否対象としてしまうことに。 .htaccess の Deny ディレクティブで次のように指定しました。

  1. Deny from 83.31.0.0/255.255.0.0

 しばらくこれで様子を見てみることにします。

Comments (0)

2007年10月10日 水曜日

アパレル&シューズストアがオープン

Filed under: AmazonLink,WordPress,アフィリエイト
時間:23時22分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 Amazon.co.jp でアパレル&シューズストアが先日オープンしていました。
 拙作 WordPress プラグインのAmazonLink では Amazon E-Commerce Service(以降、ECS と表記します)を使って検索機能を実現しているのですが、残念ながら現時点で最新の ECS でも Amazon.com にしか対応していません。対応バージョンが公開されたら、AmazonLink でも対応したいと思います。

 検索はできませんが、コードがわかれば普通に個別商品リンクを表示することは可能です。ECS を使わないで表示するようにしている強みですね。

 ファッション系は、このブログだと浮いてしまいますね・・・・。

Comments (1)

2007年9月2日 日曜日

AmazonLink 0.9.0 リリース

Filed under: AmazonLink,アフィリエイト
時間:18時21分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 WordPress プラグイン AmazonLink の 0.9.0 をリリースしました。

 すでに記事を書いたりしているのでご存知の方もいらっしゃると思いますが、今回の目玉は Amazon.co.jp 検索機能です。ASIN をその場で調べることができるので、記事投稿画面で完結できます。個人的にもお気に入りの機能です。

 配布ページにも書いてあるのですが、動作確認は Windows 環境でのみ行ってあります。Mac でもしたいところですが、持ってないのでごめんなさい。もしかすると、Safari で検索がうまくいかないかもしれません。直せるかどうかわかりませんが、報告だけでもいただけると助かります。

Comments (2)

2007年8月17日 金曜日

マルチバイトのスパムだけをリストアップ

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

 このブログにくるスパムのほとんどは英語圏のものですが、正当な日本語のトラックバックやコメントもいただくことがあります。なので、スパム対策は必須。でも、たまに正当なものが Akismet に引っかかってしまうことがあって困ります。

 一応自作プラグインの ApamAnalytics でマルチバイトのものの件数を見ることができるので確認するようにしていますが、スパム扱いになっているのを解除するには Akisumet の管理画面でやる必要があります。数百件の中から探すだけでも大変。さすがにうんざりして来たので、SpamAnalytics のマルチバイト抽出アルゴリズム(元をたどれば、ひろまささんによる Akismet de-spam view Hack)と Akisumet の管理画面のソースコードを利用して、リストアップするのを作ってみました。とりあえず MbSpams と命名。今回も安直なネーミングです。

 10分ぐらいで作った割には結構便利です。AmazonLink の開発に切りが付いたら、スパム扱い解除機能をつけてみたいですね。日本語専用ではありませんが、やっと JSeries を名乗るにふさわしいものになるかもしれません。

Comments (0)

2007年8月12日 日曜日

新 Amazon 系 WordPress プラグイン現る

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

 いつものように WordPress ダッシュボードに表示される記事リストを見ていると、『「wp-tmkm-amazon」プラグイン導入』というタイトルが目に留まりました。名前からして Amazon 系であることは間違いなさそう。しかも聞いたことが無い。

 Amazon 系プラグイン開発中の私としては、非常に気になるわけで。早速記事を見てみることにしました。

 記事によると、やはり新規に公開が始まったもののようです。しかも、配布場所は WordPress Plugins/JSeries となっています。拙作の AmazonLink と同じ場所。身内でしたか。

 記事ではプラグインを使った商品紹介もあります。G-Tools を使ったものに近い表示で、Amazon アフィリエイトセントラルのツールを使ったものではないようです。コードを生成するタイプでしょうか。

 気になるので配布ページを見に行ってみることに。

 むぅ。AmazonLink 並に手軽に使えて、さらに高機能ですね。良いものができることはうれしいですが、作者としてはちょっと複雑な心境です。
 まだコードは見ていないのですが、毎回 Amazon Web Service(以降、AWS と表記します)でデータを取ってきて、それを使ったコードで置換するタイプのようです。実は、AmazonLink も初めは同じことをやろうとしていました。レイアウトをブログの管理者が管理画面でデザインできるといったアイデアもあったりします。

 なぜそれをやめてしまったかというと、AWS には1秒に1回とか、1日に何回までという制限があるのです。この制限を超えてしまった場合は、何らかのペナルティを受ける可能性があります。うちのような小さなところでは大したことはないと思いますが、アクセスが殺到する人気サイトでは無視できないと思ったわけです。
 また、1秒に1回という制限をどうやって回避するかの解決ができていません。記事単位であれば対策はありますが、トップページのように複数記事がいっぺんに表示される場合にどうしたらいいかわかりません。この問題が解決できれば、2つの方式を選択できるようにしたいと考えています。

 とりあえず、今は AmazonLink の検索機能の完成を目指します。

2007年8月12日 22時20分追記

 AWS の制限に1日のリクエスト回数があると記事中で書きましたが、現在はこの制限はなくなっていたようです。現時点での制限項目としては、1秒に1回以上のリクエスト禁止ということのみとなります。

Comments (1)

2007年8月8日 水曜日

AmazonLink 開発状況

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

 納期がないといろいろいじってしまって、公開が伸びてよくないですね。ひとまず現状報告です。

対象バージョン

 動作対象とする WordPress のバージョンは、ME 版の 2.0.x ~ 2.2.x としています。2.0.10 と 2.1.3 で確認済みで、リリース前には 2.2.1(りリース前に ME での公開があれば 2.2.2)での動作確認も行う予定です。
 2.1.x 以降では、JavaScript ライブラリの読み込みを wp_enqueue_script で行うようにしています。

新機能

 現在公開中の0.5.0から追加された新機能は2つあります。

 まず、オプションページのリンクや背景色を入力するフォームに、カラーピッカー機能が追加されました。フォームの横のリンクをクリックすると、近くにカラーピッカーウィンドウが開きます。ポップアップウィンドウになってしまうので、ブロックされてしまう可能性があります。DHTML による擬似ウィンドウ表示もできるようですが、うまくいかなかったためポップアップとなっています。
 なお、この機能は WordPress が標準で持っている JavaScript ライブラリを使用しています。

 もう1つの機能が、投稿ページでの Amazon.co.jp 検索機能です。Firefox 2・IE6・Opera9 での動作を確認してあります。キーワードを入力して検索ボタンを押すことで、選択されているジャンルでの検索結果を Ajax にて表示します。IE6 と Firefox 2 では、キーワード入力フォームでのエンターキー入力でも検索が行えます。検索結果は10件ずつの表示で、ボタンクリックによるページ切り替えも対応しています。

現在の作業

 Ajax ということから、検索機能では JavaScript によるプログラムコードもそれなりの量(改行の多いコーディングスタイルで222行あります)になっています。多数の変数や関数がグローバルでアクセスされる状態になってしまっているめ、ほかのプラグインによって関数が上書きされてしまうといったトラブルの可能性が高くなっています。
 この対策として、現在 prototype.js を使用したオブジェクト指向プログラミング化に挑んでいます。うまくいけば、トラブル発生の率をかなり抑えることができるはずです。

Comments (1)

2007年7月23日 月曜日

WordPress 2.2 への道

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

 さすがにそろそろ WordPress を 2.2 にアップグレードしたいと思い、ローカルサーバーに複製を作って挑んでみました。

 消えても平気ということで、いきなり 2.0.x から 2.2.1 にアップグレード。見事にこけました。文字化け+日本語リソースファイル読まない+プラグイン動かない。わかりやすいことです。

 やっぱり間を飛ばしちゃだめだよねと、今度は 2.1.3 にアップグレード。WP Paginate .2.2 を有効にすると表示が真っ白になるのと WP-AddQuicktag 0.2 のバージョンアップが必要なの以外はとりあえずOK。WP-AddQuicktag は乙彼さんによる日本語版の WP-AddQuicktag (ja) 0.4 にしました。WP Paginate の代わりは検討中です。お勧めのがあったらぜひ教えてください。

 一番やばいのは、自作の AmazonLink(未公開バージョン)の Ajax 部分です。UTF-8 でデータを返すはずなのに、なぜか Shift_JIS で処理されてます。当然文字化けしてしまって、検索結果が表示できなくなってます。原因究明のためしばし研究します。リリースが伸びてしまいました。期待していただいている BoozerBlog の方(お名前が見つけられませんでした)申し訳ないです。

 プラグイン以外での悩みは、テンプレートタグ(正確には PHP のユーザー関数)の wp_list_categories()
 2.1.x からは wp_list_cats() が非推奨となり、wp_list_categories() を使うようにとのお達しがありました。それじゃあと使ってみたのですが、children に相当するパラメーターがありません。第一階層のカテゴリだけをメニューのように表示させたいのですが、それにはこのパラメーターの機能が必須なのです。wp_list_cats() でしばらく済ませるということも考えましたが、普通に children が効きませんでした。これはどういうことだと調べてみると、wp-includes/deprecated.php で次のように定義されていました。パラーメーターが完全に無視されています。互換性をなくしておいて非推奨はひどい。

  1. function wp_list_cats($args = '') {
  2.     if ( is_array($args) )
  3.         $r = &$args;
  4.     else
  5.         parse_str($args, $r);
  6.  
  7.     // Map to new names.
  8.     if ( isset($r['optionall']) && isset($r['all']))
  9.         $r['show_option_all'] = $r['all'];
  10.     if ( isset($r['sort_column']) )
  11.         $r['orderby'] = $r['sort_column'];
  12.     if ( isset($r['sort_order']) )
  13.         $r['order'] = $r['sort_order'];
  14.     if ( isset($r['optiondates']) )
  15.         $r['show_last_update'] = $r['optiondates'];
  16.     if ( isset($r['optioncount']) )
  17.         $r['show_count'] = $r['optioncount'];
  18.     if ( isset($r['list']) )
  19.         $r['style'] = $r['list'] ? 'list' : 'break';
  20.     $r['title_li'] = '';
  21.  
  22.     return wp_list_categories($r);
  23. }

 どうしようもない状況です。仕方がないのでタグを無効にしました。

 2.2.1 への道は険しいです。果たしてたどり着けるのはいつのことでしょうか。

2007年7月25日 追記

 AmazonLink の原因が判明。JavaScript からの検索リクエストを中継するためのプログラムに書いてある PHP 関数 header() の使い方が間違っていました。

 正しいのがこれ。

  1. header('Content-Type: text/plain; charset=UTF-8');

 これを、このように間違えていました。引数の数とかはあっているので、これだと構文エラーにはならないのです。

  1. header('Content-Type', 'text/plain; charset=UTF-8');
Comments (2)

2007年7月16日 月曜日

ClickComments の導入方法

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

 最近よく見かける ClickComments を導入してみました。よく見かける割には導入の仕方についての説明を見たことがないので、ついでに解説記事を書いてみることにします。解説不要なくらい簡単でしたが、せっかくスクリーンショットも用意しましたので。

ブログサイトの情報を送信

 初めに、導入したいブログサイトの情報を送信します。ClickComments のページにフォームがあります。メールアドレスの欄もありますが、これは必須でないので空のままでも大丈夫です。入れておくとユーザー登録されるのかもしれません。このサイトにはログインページがあります。
 Category は、サブのカテゴリでなくても大丈夫です。私は大まかに Technology にしました。サブカテゴリのほとんどが当てはまりますので。

 入力が終わったら、ボタンを押して送信します。

ブログサイトの情報入力

ブログシステムの選択

 このサービスは、現在8種類のブログシステムに対応しています。導入先のブログを選択するように促されますので、今回は WordPress を選択します。

ブログシステムの選択

プラグインのダウンロードと有効化

 ブログシステムを選択すると、使えるようにするための説明ページが表示されます。説明にはプラグインをダウンロードするためのリンクも含まれています。

 ここにある説明は、一般的なプラグインの導入方法となんら変わりありません。ファイルをダウンロードして、プラグインファイルをアップロードして、管理画面で有効化。それだけです。有効化すると、記事本文の下に表示されるようになります。

プラグインダウンロードリンクを含む導入説明

プラグイン Hack

 おまけ項目です。

 ついでにプラグインの中身を見てみました。ややこしいことをやっていると思いきや、メインのコードはわずか12行でした。ほとんどの処理を JavaScript で行っているのでしょうか。ブログサイトのアドレスや記事の情報を引数で渡しているので、ブログページのソースから JavaScript を見てみます。

 またもや単純なコードです。インラインフレームのタグを表示しているだけでした。アマゾンの個別商品リンクと同じ方式ですね。インラインフレームの中身のアドレスには、blog というパラメーター名で ID らしきものが渡されています。これが初めに送信した情報と結びついていて、言語にあわせた表示にしたりしているのでしょう。

 最終的な構造は次のようになります。div.postreachclickcomments にスタイル設定をすれば、多少のデザインは可能ですね。

  1. <div class="postreachclickcomments">
  2. <p>
  3. <iframe></iframe>
  4. </p>
  5. </div>
Comments (2)

AmazonLink の Amazon.co.jp 検索にページ切り替えを実装

Filed under: AmazonLink,WordPress,アフィリエイト
時間:2時14分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 AmazonLink の Amazon.co.jp 検索に、検索結果のページ切り替え機能を実装しました。

Amazon.co.jp 検索

 コードの整理などがある程度終わったところで実装方法を思いついたので、3時間ほどで一気に実装。今のところ気持ちよく動いてくれています。

 ページ切り替えで1ページ目の前や最後のページの次を表示しようとしたときの処理をどうしようかと考えていたのですが、ループして反対側を表示するようにしてみました。これだとボタンの表示非表示の処理もいらないので、作る側としても楽です。

 残りの TODO は、キーワードを入れるところでエンターキーを押されたときの処理だけです。通常だと submit されてしまいますが、代わりに検索ができることを目指します。keydown イベントでキーコードを拾って分岐処理という予定ですが、環境依存にならないか心配です。

Comments (0)

2007年7月14日 土曜日

AddClips のボタンを導入

Filed under: WordPress,インターネット
時間:18時44分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 ソーシャルブックマーク(以降、SBMと表記)という言葉があります。いわゆるオンラインブックマークサービスですが、コミュニティー的(Web2.0的と言った方がいいでしょうか)機能も提供していることが多いです。
 すでに巷には多数の SBM サービスがあふれています。初めはベンチャー企業的なところが多かったのですが、今では Google や Yahoo! のような大手企業も手を出す分野となりました。

 市場が大きくなったこともあってか、ニュースサイトには SBM に登録するためのボタン(クイックリンク)が表示されることが普通になりました。ニュースサイトによって対応している SBM はさまざまですが、日本でははてなブックマークが多いでしょうか。Yahoo!ニュースでは、8つのボタンが表示されます。

 このブログでもしばらくはてなブックマークのボタンを表示していましたが、本当はほかのサービスにも対応させたいと思っていました。対応させる手段がないわけではありませんが、アイコン画像の利用がグレーだったのです。

 そんな時見つけたのが、AddClips というサービス。(やっと本題)

 ポップアップウィンドウを経由することで、多数の(現時点で18種類)SBM サービスへの対応を1つのボタンで可能にしてくれます。利用している SBM サービスが1つの場合は、2回目以降はポップアップなしで直接登録することもできます。

 WordPress へのボタンの導入方法ですが、ボタンを作ってコードを貼り付けるだけです。淺田さんによる記事で対応させる方法はわかっていましたが、ちょうど導入した日に取り込まれたようです。

 ボタンを設置する側にうれしい機能としては、ユーザー登録することで登録数の統計表示があります。どの SBM サービスのユーザーが多いかとかは気になるところです。ユーザー登録にははてなのアカウントが必要ですが、Livedoor ID と OpenIDへの対応が予定に入っているようです。

 統計機能が不要であれば、個人情報はまったく渡す必要がありません。手軽に試してみてはいかがでしょうか。

Comments (0)
Page 5 of 9« First...34567...Last »

HTML convert time: 2.023 sec. Powered by

Images is enhanced with WordPress Lightbox JS by Zeo