Category Archives: Hacking

DNSBLサービス「スパム鯛めし」を公開

ライブドアの「スパムちゃんぷるー(β)」に対抗し、弊社でもコメントスパム・トラックバックスパム用DNSBLサービス「スパム鯛めし(β)」を公開することにしました。

ライブドアはそれなりの人手とアルゴリズムを駆使していますが、弊社は最小コストでほぼメンテナンスフリーの仕組みを使っています。

手元のスパムIPを調べたところ、ユニークIPベースで 92.8%、延べIPベースで 99.4%の高確率でスパムを検出できました。スパムちゃんぷるーやniku.2ch.netに比べ、遜色ない成績となっています。

プログラマブルでRFCクリア(たぶん ^^;)なDNSの実装にはかなり手こずりましたが、良い勉強になりました。

ご利用は商用・非商用を問わず無料です。ブログ、掲示板などでご利用いただければ幸いです。

ご使用後の感想、ご意見などぜひお寄せください。

Google Ajax Search API を利用したスパムフィルタ

昨日から Akismet を無効にして livedoor の スパムちゃんぷるー をのRBLを導入していますが、それをすりぬけてくるスパムもあります。DNSBLの性質上、統計をとってからデータベースに載せるので、新手のスパム元には対応しきれない面もあります。

で、いろいろ情報をさぐっているうちに「GoogleでIPアドレスを検索して検索にマッチしたらほとんどスパム」という判定方法を見つけ、早速実装してみました。


<?php
/*
Plugin Name: Google based spam filter
Plugin URI:
Description: 送信元のIPを Google 検索し、マッチしたらスパムとみなします。要PHP5。
Author: sino
Version: 0.0.1
Author URI: http://www.takanashi-it-factory.com/
*/
function reject_google_spam_IP($id) {
 $check_IP = $_SERVER['REMOTE_ADDR'];
 $spam     = false;
 $json = file_get_contents("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=". $check_IP);
 $val = json_decode($json);
 if($val->responseData->results) $spam = true;
 if ($spam) {
  wp_die('Error: Your IP Address is found at google (http://www.google.com/search?q='. $check_IP .').');
 }
}
add_action('edit_post', 'reject_google_spam_IP');
?>

当初、これを元にした RBL を立ち上げようかとも思ったのですが、Webサービス使ってるんならプラグインにした方がいいと思い、こうしました。スパムちゃんぷるーフィルタと併用すればほとんどスパムフリーじゃないでしょうか。もうしばらく様子を見てみたいと思います。

Akismet 無効化&スパムちゃんぷるー導入

Akismet は優秀なスパムフィルタですが、誤検出も結構あるようで、どうしたもんかなーと思ってました。

そこへlivedoorがコメントスパム専用のDNSBLを始めたようで、こちらで紹介されているスクリプトを導入してみました。

試験的にAkismetを無効化し、スパムちゃんぷるーが有効か検証してみたいと思います。今までコメントして弾かれていた方はどうぞコメントしてみてください。(w

La fonera をハックしたくなりました。

fon というWiFi環境を相互に提供しあうソーシャルサービスがあります。プロジェクトの趣旨は理解できるのですが、実効性はいまいちだろうなと思っていて、なぜなら、無線LANユーザがみんなが Linus であるとは限らないから。無線LANユーザの中でfonユーザが占める割合って少ないと思うのです。

観光地である鴨川市では、普通に家庭で無線LANを使っている観光客(ビジター)が、Linus であるとは限らない、いやむしろ断然少ないでしょう。

ならば、携帯から認証情報を取得できて、それを無線LANの接続IDに使う、というほうがスマートですよね。そういうことはやろうと思えばできるんですが、APをひとつ作るのにかかるコストがかかりすぎて現実的ではないなぁと思ってました。

が、しかし。

なんと fon ルータ La fonera (1,980円) は Linux で動いているということじゃないですか!ファームをダウングレードすれば ssh でログインでき、中をいろいろいじれるみたいです。これは面白くなってきた。早速 Amazon で、La fonera を発注しましたよ。明日には届くようなので、早速いじってみたいと思います。

やりたいことは、先ほども書きましたが、

  1. 携帯で指定Webサイトにアクセス。無線LANアクセス情報を取得。
  2. 手持ちのPC/ガジェットからfoneraハック版にアクセスし、認証情報を入力。
  3. インターネットに接続。

1. のところで弊社製SNS、Zeego.org に入ってもらうか、寄付を募るという形にすれば、いろいろ面白いことできそうです。プロジェクト名は考えてあります。ずばり、

Project KamogaWiFi (かもがわいふぁい)

インターネットへのアクセスは施設負担になってしまいますね。そこまで面倒みれればカッコイイですが、弊社にはそんな資本はありません。(w

 市内の宿泊施設、飲食店を中心に営業してみようかと思います。たぶん La fonera にちょこっと手をいれればできるはず。久しぶりにハックのしがいがあるモノを見つけました。

FAXサーバ構築に苦戦

現在、弊社の公式FAX番号は 020-4622-2216 です。なんでこんな番号かというと、D-FAXというサービスを利用していまして、この番号にFAXが送られるとメールで受信できるようになっています。今は使われていない020(ポケベル)番号を再利用しているわけです。ただ、この020 番号、現在サービス拡大中のひかり電話からはかけられないという致命的な欠点があります。NTTが対応してくれればいいのですが、期待するのは難しそう。

FAXを送ってくる元は限られているので、番号を変えるのはさほど問題ではないのですし、送信はPCから直接送るので、FAX実機の必要性はほとんどありません。受信を何とかしてメールで受けたいわけです。

弊社のインターネット回線はYahoo!BBで、これには050で始まるIP電話(BB!Phone)がついてきます。ただ、Yahoo!BBのモデムはNTTのと違い、IP電話専用のモジュラジャックというのはありません。電話に繋げるジャックはひとつだけで、これで加入電話番号とBB!Phoneの両方が受けられるようになっています。初心者には親切ですが、加入電話とBB!Phoneを使い分けたい場合には不便です。

思惑としては、

  • 04-7094-2051 は電話オンリー。
  • 050-1134-1526(BB!Phone) はFAX受信オンリー。FAXサーバが待ち受けていて、メールに変換&送信。

という構成にしたいのですが、Yahoo!純正のモデムだけでは不可能です。

うーん、と知恵を絞って思いついたのが、

「モデムの前にスプリッタかませば、電話とADSL信号が分けられるじゃん」

ということでした。Yahoo!のモデムはスプリッタが内蔵されているので、通常は必要ないのですが、こうすることにより、電話信号がモデムに届くまえに横取りできます。早速鴨川のK’sデンキで「LD-ADSLSSPR2」というスプリッタを購入繋げてみたところ、見事ADSLリンク、電話信号共にOKでした。

さて、ここまでは万事順調でしたが、苦戦する破目になったのはここからです。

ADSL配下にはすでに別の用途でLinuxサーバを立ち上げているので、これを援用したのですが、PCIモデムがいくら設定しても応答してくれない。いや、FAX受信を手動で指示してやれば応答するのですが、呼び出し音をいくら鳴らしても電話を取らないんです。サーバに内蔵されているPCIモデムはいわゆるWinモデムというやつで、Linuxとは相性が悪いんですが、ドライバとデーモンが見つかったので、それを組み込みました。手動では着呼するので、問題はないはずなんですが、やっぱり駄目。

というわけで、ヤフオクでLinux動作しそうなPCIモデムを選び、入札中です。落札できたら、これで試してみようと思います。

それにしても、これだけ苦労するなら月額固定料金のサービスもあることだし、それを使ってもよさそうなものですよね。私もそうは思いますけど、そこは技術者としての意地で、なんとか手間をかけてでも自前で実現させたいと思っています。

久々に技術的な話題になってしまいました。訳わからない方は読み飛ばしてください。

Webサービスは使ってもらってナンボです

Web上のサービスは、Webサイトも含めて、使ってもらってナンボ、見てもらってナンボです、やっぱり。発注を受けて、仕様通りのモノを作って、納品して、お金をもらう、その後全然反響がなくても製作者サイドとしては知らんこっちゃなんです、本当は。

でも、どうせやるならやっぱり自分なりのアイデアを織り込んで、ユーザがガーッと増えて、反響続々というほうが楽しいですし、やりがいがあります。

というわけで、現在、市内の学校に使ってもらうために、あるシステムを提案中です。今回はちょっとビジネス度外視でやってみようかと思ってます。

Kamox.net リニューアル!

弊社独自のポータルサイト取り組みとして運営していた Kamox.net を全面リニューアルしました!(拍手~)

鴨川市発最旬ブログ集サイト Kamox.net

今までは、外房新聞様にご提供いただいていた市内ニュースと、市内商店・企業情報がメインコンテンツでしたが、市内にブログを書く人が増えてきたこともあり、RSSをアグリゲートして再構築しました。

コンセプトとしては、「Yahoo!に代わって市内のWebブラウザの初期画面をこれにする」という壮大な野望(笑)を孕んだ、市民(ブロガー)参加型のものになっています。

「Yahoo!は捨てよう! Kamox にしよう!」

田舎生活の楽しいところ

最近、地域ネタばかりで恐縮なのですが、今日は「まー田舎はいろいろ不便だけど、それだけハックのしがいがあるってことだよね」ということについて書いてみたいと思います。

「ハック」というのはパソコンオタク用語で「手を入れてよりよくすること。改良。」くらいの意味です。既存のソフトウェアに手を入れて機能を追加したり、使い勝手をよくしたり、 そういうことを指して「ハックする」と言います。また、そういうことをする人を(尊敬の念を込めて)「ハッカー」と呼びます。コンピュータに不正侵入する犯罪者は「クラッカー」と呼ばれ、これにはもちろん尊敬の念はありません。

さて、田舎には地下鉄がない、コンビニが少ない、 映画館がない、などなどなどないものを挙げていけばキリがありません。社会的インフラの不足に限らず、人口が少ないこと、高齢化が進んでいることに起因する様々な問題があることは否定しようがないでしょう。

でも!「じゃあ、どうしたらいいんだ?」ってことを考えるところから田舎生活の面白さは始まります。

私の知っている若い人たちは多かれ少なかれ、そういうことを考えています。例えば天津地区に少年サッカーチームがなかったのを「じゃあ自分で作ればいいんじゃん」と本当に作ってしまったりとか。

そういう「ソーシャル・ハック」ができると考えると田舎の生活もなかなか面白いものです。大変だけど。「ないものをあげつらうより、作れるものを考えた方が楽しい」

UMPC欲すぃぃぃ

iPhoneが発売になり、知人に見せてもらいましたが、いつでもネットにつながるガジェットっていいなぁと思ったりする今日この頃です。

iPhoneもいいけど、キーボード命!の古い人間にしてみると、やっぱりUMPCに食指がそそられます。EeePC, HP 2133, Acer One 辺りが熱いです。国産の工人舎のシリーズも捨てがたいですが値段がちょっと高め。Ubuntu Linux 入れる前提なのでOSなしモデルなんて出ないんでしょうか。

昔、A5サイズの中古ノートに jfbterm, JED, mutt, w3m という構成で生活していたことがありました。CUIに徹していたわけですが、あれはあれでよかったなぁ。ポインティングデバイスなんて使わなくて済んだし、キーボードだけで全ての操作が完結するのはそれなりに快適でした。

EeePCでそれを再現してみるのも面白いかも。

google suggest を JSONP で取得

もう一つ Google ネタ。こちらはたぶん undocumented なものです。

http://suggestqueries.google.com/complete/search?hl=ja&qu=%E9%AB%98%E6%A2%A8&json=t&jsonp=foo

↑こんなリクエストを投げると、JSONPでサジェスト候補を返してくれます。 パラメータの解説は不要ですよね。

Copyright © 2025. Powered by WordPress & Romangie Theme.