平成20年5月20日 火曜日

キャプチャ認証

Filed under: プログラミング — とめくぎ @ 17:23:24

いわゆる、画像認証ってやつで、画像に含まれている文字をFormに入力してもらって、人間かボットかを判別する仕組みですね。

管理している掲示板にスパム投稿が酷いので、今までは自作の辞書フィルタで対応していたんですが、たまーにすり抜けるのも居るので、そんなに重要度の高くない(投稿数の少ない掲示板)にキャプチャ認証を入れてみました。
(上記のフィルタも一部商業サイトでも実働中で、ある程度の辞書のメンテナンスは要りますが、8割は除去できているんじゃないですかね?)
まあ、単に投稿数の少ない掲示板の監視が面倒なんですがね。

で、
GD::SecurityImage
とかをインストールしてみたんですが、基本的に英語のキーしか表示できないのが
日本人に厳しく英語圏の人間に優しいという矛盾を感じたので、日本語を振り回せるように改造してみたりしました。

大した事じゃないのに、モジュールをインストールしたり、改造したりが面倒なので、結局あとで自作しましたが、取り合えずメモとして。

GDでランダムで線や点を打った画像に、ランダムでひらがなを描くだけです。
コツはひらがなを書くときはUTF8に変換してstringFT関数を呼ぶこと。
文字の位置とラジアンもある程度ランダムにする事ですかね。

文字キーと画像の結びつけは、md5とかを使って生成したキーを持ち回す事で済まします。

ねっ簡単でしょ?

出来た画像はこちら↓
キャプチャ認証

平成20年3月12日 水曜日

ポケベルメッセージ表示装置

Filed under: ジャンク, プログラミング — とめくぎ @ 20:25:34

ROMライタに追記が面倒になった。(汗
内容をこっちに移動。

ハムフェア戦利品
上のやつね。

ハードについて
中身は日立のC-MOS版Z80とH8/3214でした。多分H8は赤外線リモコンとかだけっぽい。
 ROMのバイナリをサラっと見た感じ、双葉のメッセージボードシリーズにある「(T)」とか「(W)」とか「(H)」とかのコマンドが使えるっぽい?これから試してみる。

 H8の方のROMの読出しは面倒なので保留。信号線引っ張り出してROMライタに繋がなくてはイカンらしい。
 リモコンの回路を追っかけた所、プルアップ抵抗とHC14の9番ピンを経由してH8の63番ピンのIRQ2に繋がり、HC14で反転した信号の8番ピンが62番ピンのIRQ1に繋がっています。

 割り込み2か1でリモコンのパルスを取ってリモコンの信号を判別してZ80にリモコンの状態を送ると言った感じのようです。
 リモコンの信号は家電協会フォーマットだと思うんだけど、手元にリモコンが無いので、何ともわからず。

Z80のシリアルポート1にポケベルの信号が行ってます。
(コネクタまで来ているのはRxdのみTxdは付近のL16のランドまで)
実際はプルアップの抵抗R43とHC14(の4番ピン)を通って来ています。

基板の空きパターンのU18にADM3202とか乗るっぽいです。ピンアサインぴったり。
乗せると、CN6がそのままZ80のシリアルポート1に変身します。1:? 2:Rxd 3:Txd 4:GND
試してないので無保証です。HC14のパターンカットかプルアップの抵抗取らないと駄目かも?

ちなみに、Z80のもう一つシリアルポートであるシリアルポート0はCN3近くののU17のランドに来ています。
こちらは双葉電子の他の製品に使われているようです。
もしかしたら何かコントロールできるかも?あとで試してみよう。

 Z80とH8の接続を調査してみた。
 なんか4本位しか信号線繋がってません!
 そのうち2本はHC541(入力)とHC273(出力)経由でバスに繋がってます。
 HC541とHC273のアドレスは2つのGALの内の一つでデコードしているみたいです。
 後の二本はZ80のRXSとCKSに。多分CSI(ClockedSirealI/O)でリモコンのキーデータの引き出しを行っている模様。
 オシロで追っかけて見ます。 

平成20年3月11日 火曜日

Hexファイルについて

Filed under: たわごと, プログラミング, Delphi — とめくぎ @ 1:41:27

ライタのソフトついでに、いろいろなROMデータについて調べてみた。

メジャーどころはIntel-HEXとモトローラS形式の二つ。
もちろん、R4945Aもこの二つに対応している。
その他に複数のフォーマットに対応しているみたいだけど、取説も資料も無いので、どんなフォーマットかは知らん。

前のソフトでは、ASCII-HEXという割と簡単なフォーマットを用いた。
これは
#オフセットアドレス,データ0.データ1・・・・データ15改行

と単純なフォーマットでした。チェックサムも無し。信頼性は?むむぅ。

と、言うわけで、バイナリファイルを読み込んでIntel-Hexに変換するソフトを書いてみた。
(more…)

平成19年9月23日 日曜日

日付表示を付けてみました

Filed under: たわごと, プログラミング — とめくぎ @ 2:23:13

サイトのトップにこのブログの更新日時表示を付けてみました。

適当にphpでDBから日時を拾ってきているだけですが、忘れ物防止のためにメモ。

select max(post_date) date from wp_posts where post_status='publish' and post_type='post'

これで最新の記事の更新日時が得られるハズです。

post_status='publish' and post_type='post'

とwhereで条件を付けないと、非表示の記事の日時が表示されてしまったり、後から画像を更新した場合はその日時が表示されてしいますので注意。

日付の形式はsqlでやるもよし、php側で適当に処理するも良しです。

#旧アキハバラ買出し紀行のコンテンツ移動が完了したので、旧ページを閉鎖しますー。

平成19年8月12日 日曜日

AVRとSPI

Filed under: 電子工作, プログラミング — とめくぎ @ 4:05:30

久々にAVRと格闘中。
SPI通信を会得しようという事で、プレステのパッドとの通信を試みています。
SPI通信の波形

そうです、プレステパッドってSPI通信なんですね。
そのパッドのデータをパラのデータに直して、アーケード基板に繋ぐ作戦です。
アーケード基板との接続

使用するAVRマイコンは手持の都合でAT90S8515です(古。
もうディスコンらしいので、アレなんですが、手持の物で都合よいピン数でかつ、SPI通信搭載の物がコレだけだっただけという。

チップに搭載しているハードウェアで通信するので、コードも至って簡単。
制御レジスタを適当に設定して、データレジスタを読んだり書いたりするだけ。うーん便利。
問題なのはプレステパッドとの通信のお約束だけ。

アーケード基板も新しい物だと数万数十万しますが、MVSならマザーも6千円くらいだし、ソフトも潤沢。
千円で3本セットもざらでお買い得です。

« 前のページ次のページ »

HTML convert time: 0.137 sec. Powered by WordPress ME