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

2007年5月20日 日曜日

WordPress ME 2.2 リリース

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

 2.2.1 までの暫定版ですが、WordPress ME 2.2 がリリースされています。本家 2.2.1 は6月中旬の予定とのこと。

 Ajax の関係から、このリリース以降 ME 版は UTF-8 に統一とのこと。私も Ajax プログラミングをやったことがあるのですが、UTF-8 以外だと動いてくれないことが多くて、ほかの文字コードに対応させようとすると非常に手間がかかります。変換コードをあちこちに入れる必要があるのではないでしょうか。
 なお、EUC-JP からの移行マニュアルを用意してくださるとのことです。2.2 を使いたい方は、それを待ったほうがいいでしょう。

Comments (0)

2007年4月28日 土曜日

はてなブックマークに登録するボタンを表示

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

 ひろまささんによるプラグイン『wp-hatena』を導入してみました。はてなブックマークに登録するクイックリンクを表示させるものです。

 はてなユーザーではないですが、ちょっとメモ的に登録してもらえたら便利かなと思って導入してみました。どの位置に表示させるかは検討中なので、とりあえずは記事タイトルの横に表示。

2007年4月29日 16時18分追記

 h3 の中にあるのも変なので、メタ情報欄に移動しました。
 

Comments (0)

2007年4月14日 土曜日

1つの記事を複数ページに分割

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

 本日17時30分ごろの記事『このブログに来るスパムの傾向』で初めて使いましたが、WordPress では1つの記事を複数のページに分割することができます。
 便利な機能ですが知りませんでした。検索してもあまり見つからなかったので、メモをかねて書いておきます。願わくば、同じことで検索している人の幸せにつながりますように。

 やり方は簡単です。改ページさせたいところに <--nextpage-->( – は2つです)と入れるだけ。これで、そこで一旦改ページとなり、ページ切り替えのためのリンクも表示されるようになります。

 1つ注意が必要なのは、記事のプレビューではうまく改ページができないということ。
 改ページ位置で表示が終了しますが、ページ切り替えをしても1ページ目しか表示されません。2ページ以降のプレビューができないので、コードは最後に入れたほうがいいです。

 なお、私は WP-AddQuicktag で登録しました。more と同じようにボタンがあってもいいと思うんですけどね。

Comments (0)

このブログに来るスパムの傾向

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

 1週間前に製作中と発表した SpamAnalytics ですが、いじってるうちに大雑把なスパムの傾向が見えてきました。

 なお、この記事は長くなったため、項目ごとに複数ページ表示にしてあります。記事下部のリンクでページを選択することができます。

頻度

 頻度は波があるようです。

 2007年4月の頭に集中してスパム投稿がありました。4月1日だけは低めで31件ですが、ピークの4月3日は279件です。これに対し、ピークを過ぎてから4月9日までひたすら減少が続き、最小5件です。
 大きな波はこれで一旦退き、4月11日に小さな波が来て44件。昨日の4月13日までは、31,11,13と減少傾向です。ちなみに、今日は現時点で6件です。

スパムの傾向 - 日別

 私は、定期的にスパム行為を繰り返しているためだと推測しています。当然足並みをそろえてやっているはずもなく、偶然複数のスパマーのタイミングが重なったときが大きな波になっているのではないでしょうか。
 うちはたいしたアクセスもない弱小ブログですが、大手であればもっと傾向がわかるのかもしれません。

Comments (0)

2007年4月8日 日曜日

スパム解析プラグイン SpamAnalytics 製作中

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

 以前そのうち作ると書いたスパム解析プラグイン SpamAnalytics ですが、現在製作中です。

SpamAnalytics スクリーンショット

 現時点では、スパムの数を表示する Count だけ実装済み。その下の Percentage はまだダミーです。
 表の下にあるグラフは、JSChart というサービスの Web サービスを利用しています。手軽に使えるので導入してみました。X 軸ラベルが指定できないのと、90度回転させたグラフが表示できないのががちょっと残念。

Comments (1)

2007年4月1日 日曜日

データベースアクセス

Filed under: リファレンス
時間:11時45分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 データベースアクセス関係のリファレンス情報です。すべての情報を含んでいるわけではありません。

 データベースにアクセスするには、グローバス変数 $wpdb に格納された wpdb クラスのオブジェクトインスタンスを経由します。クラスの定義は、2.0.x ME では wp-includes/wp-db.php にあります。

汎用的な SQL クエリを発行する

 汎用的な SQL 文によるクエリ発行には、 query メソッドを使用します。ほかのクエリ系メソッドのベースとなるメソッドで、最後のクエリの結果はキャッシュされます。

  1. /**
  2.  * @param String query SQL文
  3.  */
  4. $wpdb->query(query);

 クエリが INSERTDELETEUPDATEREPLACE の場合は変更された数を、それ以外では得られた結果の行数を返します。WordPress Codex では SQL 文にエラーがあると FALSE を返すとありますが、コードを見た感じでは 0 になるようです。0 == FALSE は真ですが、0 === FALSE は偽なので注意が必要です。

行と列を指定して1つだけ値を得る

 クエリ結果の一部だけほしい場合には、get_var メソッドを使います。

  1. /**
  2.  * @param String query SQL文 @default null
  3.  * @param Int column_offset 列 @defaul 0
  4.  * @param Int row_offset 行 @default 0
  5.  */
  6. $wpdb->get_var(query, column_offset, row_offset);

 querynull を指定すると、直前のクエリ結果を参照します。null でない場合は、内部で query メソッドが呼ばれます。
 column_offsetrow_offset の指定位置が正しくない場合は null を返します。

SELECT する

 SELECT によるクエリをするには、get_results メソッドを使います。

  1. /**
  2.  * @param String query SQL 文
  3.  * @param String output_type 定数 OBJECT・ARRAY_A・ARRAY_N のどれか @default OBJECT
  4.  */
  5. $wpdb->get_results(query, output_type);

 querynull のときは直前のクエリの結果を、null でない場合は内部で query メソッドを呼び出します。
 output_typeOBJECT のときはオブジェクト形式で、ARRAY_A のときは連想配列で、ARRAY_N のときは通常の配列で結果を返します。ARRAY_AARRAY_N では変換処理が入るので、パフォーマンスは OBJECT が一番よさそうです。

クエリ時のテーブル名について

 WordPress では、データベーステーブルの名前に接頭辞をつけることができます。この接頭辞はセットアップのときにユーザーが指定するので、テーブル名は環境依存となります。不特定多数に配布するプラグインではこれはかなり困ったことになってしまいますが、wpdb クラスのメンバ変数がテーブル名を保持しているので、それを使うことで解決できます。

 たとえば、コメントのテーブル名は、$wpdb->comments で得ることができます。

Comments (0)

カテゴリー『リファレンス』を追加

Filed under: リファレンス,雑多
時間:11時41分
投稿者:よしとも
AddClips 経由でソーシャルブックマークに登録

 プラグインカテゴリーの下に、リファレンスというカテゴリーを追加しました。

 このカテゴリーには、私が WordPress プラグインを作成するときに調べたことをメモとしてまとめた記事を入れて行きます。関連したことがまとめて見れたほうがいい気がするので、1つの記事に詰め込んでしまいます。重くなってしまったときはまた考えます・・・。
 一応調べることが目的なので、記事のために調べるということはやらないつもりでいます。逆に言えば、記事が増えたら何か新しいことをやろうとしてるんだなと思ってください。

Comments (0)

2007年3月31日 土曜日

プラグイン Lighter Admin Drop Menus を導入

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

 Standing Tall さんの記事で知った WordPress のプラグインの、Lighter Admin Drop Menus を入れてみました。管理画面のメニューをドロップダウン形式にするプラグインです。

 ドロップダウンする部分は、少し立体的に見えるようなボーダー表現になっています。 ドロップダウンになる以外には、デザインが少し変わります。落ち着いた色合いで、私は結構好きです。

 記事ではlighteradminmenusフォルダごとプラグインフォルダに入れて有効化とありますが、配布されているアーカイブではそのフォルダは含まれていないようです。フォルダを作ってくれる解凍ソフトの場合は大丈夫ですが、そうでない場合はいきなりファイル(といっても、ファイルが3つとフォルダが1つですが)が散らかってしまうのでご注意。

 プラグインが増えてきたときにメニューがどうなるか心配ではありますが、ガンガン入れるほうではないのでそのとき考えます。

Comments (0)

2007年3月30日 金曜日

SpamAnalytics をそのうち作る

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

 先日スパムコメントの解析をするにあたっていろいろと SQL を打ちました。そのとき思ったのが、プラグインで自動化できないかなということ。

 コメントを記録しているデータベーステーブルにクエリーを送ることで、スパムの傾向とかを知ることができるような気がします。アクセスログ解析ならぬ、スパムログ解析。グラフはなんともいえませんが、とりあえずは数値として表示させてみたいと思っています。

Comments (1)

2007年3月24日 土曜日

スパムコメントのアクセス元を抽出してブロック

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

 スパムコメントは99%以上が Akismet によってブロックされているのですが、鬱陶しいので Apache の機能で特定 IP アドレスからのアクセスをブロックしています。
 最近またスパムコメントが増えてきましたので改めて設定。どうやっているかをついでにメモ。

 まずはスパム業者の IP アドレスの抽出です。このブログを設置しているサーバではデータベースに phpMyAdmin でアクセスできるので、次の SQL を直接発行しました。

  1. SELECT `comment_author_IP`, count(`comment_author_IP`) AS cnt
  2. FROM `wp_comments`
  3. WHERE `comment_approved` = 'spam'
  4. AND TO_DAYS( NOW() ) - TO_DAYS(`comment_date`) < = 30
  5. GROUP BY `comment_author_IP`
  6. ORDER BY cnt DESC;

 これで、最近の30日で回数の多い順に IP アドレスが抽出されます。この IP アドレスを Limit ディレクティブでアクセス禁止にします。私は上位10個を指定しました。

  1. <Limit GET POST>
  2. order allow,deny
  3. deny from 012.345.678.9
  4. allow from all
  5. </Limit>

 やっていることは、WorstOffenders(旧名称 Akismet htaccess extension) というプラグインと同じだと思います。面倒なら、このプラグインを入れてしまうほうがいいかもしれません。

Comments (0)
Page 7 of 9« First...56789

HTML convert time: 0.250 sec. Powered by

Images is enhanced with WordPress Lightbox JS by Zeo