プログラマ ずんべ の日記

zunbe

プログラマ ずんべ の日記
プログラマ ずんべ の日記

探し物は見つかりましたか? サイト内検索を試してください。


<<先頭] [<前へ] [ 1  2  3  4  5  6  7  8  9 ] [] [最後>>

2007/05/20

【技術開発】コードサイニング証明書

コードサイニング証明書

コードサイニング証明書を購入してみた。
用途は、ブラウザ上で ActiveX を動かしたいため。
もちろん、コードサイニング証明書なしでも、いろいろ設定すれば、ブラウザ上で ActiveX を実行できるが、一発インストールができるようにと、コードサイニング証明書を購入し、ActiveX に署名してみた。
これ。

 署名した ActiveX を実行してみる

インストールする時は、もちろん警告が表示されるが、実行する時は警告が表示されない。
いい感じ。

コードサイニング証明書は、こちらで購入。

 Toriton,Inc

ざっと調べた限りでは、コードサイニング証明書の価格は、ここが一番安そうだ。
税込 \13,800 と、他と比べて、かなり安い。
ちなみに、最高値と思われる値段をつけているのはベリサインで、 \94,500。
実に7倍の開きがある。
この価格差があってもベリサインで購入する企業が多いのは、やはりブランド力ってやつだろうか。
それとも、証明書の信頼性の差だろうか。
実際、トリトンでコードサイニング証明書を購入するためには、まず、会社の存在確認のために D-U-N-S®Number を取得する必要があるのだが、証明書類は登記簿謄本が1通あればよく、確認の電話や、メールは来なかった。
おそらく、帝国データバンクのデータや、その他の情報と突合せをして、十分な信頼性の調査をしているのだろうけれど、やはりお手軽感がある分、重みがない気がしないでもない。

ともかくも、コードサイニング証明書を取得できた。
せっかく取得したのだから、いろいろ活用してみよう。



このエピソードはいかがでしたか?

投稿者 zunbe : 2007/05/20 13:09:25 | コメント (0) | トラックバック (0)

2007/05/02

【技術開発】トラックバック・スパム対策

トラックバック・スパム対策

このエピソードの続き。

 2007/03/02 コメント・スパム対策
 2007/03/03 コメント・スパム対策(2)

このブログに対して書き込まれるコメント・スパム、トラックバック・スパムは相当な数になってきているが、コメント・スパムの方は、以前に行った対策で、ほとんど排除する事ができた。
しかしながら、トラックバック・スパムはフォームから送信されるわけではないので、フォームに仕掛けを入れる事ができず、どうしたものかと悩んでいた。

もちろん、Movable Type のスパム対策機能が働けば楽になるのだが、このブログを運用しているサーバは、インターネットからリバース・プロキシを介してアクセスされるので、アクセス元のIPアドレスがすべてプロキシ・サーバのIPアドレスになってしまっているため、この状態では、Movable Type のスパム対策機能が働かない。

仕方がないので、Movable Type のプログラムを修正して対応する事にした。
環境変数 REMOTE_ADDR を参照するのではなく、プロキシ・サーバから送られてくる、環境変数 X-FORWARDED-FOR を使用する様に変更しようと、ソースを追っていたのだが…。
あれ? プログラム中に、X-Forwarded-For ヘッダを参照してIPアドレスを取得しているコードがあるぞ。
コードによると、X-Forwarded-For ヘッダの値によって、変数 $TransparentProxyIPs に代入する値を切り替えている。
ソースを「TransparentProxyIPs」で grep してみる。
どうやら、この名称の設定が存在しているようだ。

Movable Type のマニュアルを調べてみる。
あった。

 Movable Type 3.2 マニュアル - 環境設定ファイル (mt-config.cgi)

このマニュアルに記載されている TransparentProxyIPs の説明文は…さっぱり意味がわからん(^^;が、これを 1 に設定すると、環境変数 X-FORWARDED-FOR からIPアドレスを拾ってくれるようだ。
どれどれ、設定して、コメント、トラックバックを送信してみる。

成功!
プロキシ・サーバのIPアドレスではなく、送信元のIPアドレスが記録された。
と、いう事で、プログラムの修正は必要なかった。

こんな設定があったとは。
ぜんぜん知らなかった。
ひとつおりこうさんになった。



このエピソードはいかがでしたか?

投稿者 zunbe : 2007/05/02 14:00:00 | コメント (0) | トラックバック (0)

2007/04/27

【技術開発】Amazonアソシエイトの画面でSSL警告

Amazonアソシエイトの画面でSSL警告

Amazon アソシエイト・プログラムの画面にアクセスしてログインしようとしたら、セキュリティの警告が表示された。

 プログラム ずんべ の日記:Amazonアソシエイトの画面でSSL警告
 セキュリティの警告

証明書の有効期限が切れているようだ。

 プログラム ずんべ の日記:Amazonアソシエイトの画面でSSL警告
 証明書

Amazon ともあろうサイトが、SSLの更新を忘れるとは。
または、アソシエイトの方は、通信そのものが保護できればいいという考えで、切り捨ててきたのだろうか。

しかし不思議だ。
有効期間が 2007/04/27 までになっていて、アクセスした日は 2007/04/27 なのに、どうして警告が出るのだろう?
証明書の詳細を表示したら判明した。

 プログラム ずんべ の日記:Amazonアソシエイトの画面でSSL警告
 証明書の詳細設定

なるほど、証明書の有効期限は、時間まで指定されているのか。

しかし、更に疑問が。
どうして 9:00 なんて中途半端な時間なんだろう?
他のサイトにアクセスして証明書を見てみても、9:00 の様だ。
う~ん?

あ、そうか、GMTの 0:00 か。
だから JST-9 で 9:00 なのか。
なるほど。
ひとつおりこうさんになった。



このエピソードはいかがでしたか?

投稿者 zunbe : 2007/04/27 08:00:00 | コメント (0) | トラックバック (0)

2007/04/14

【技術開発】IIS で KAKASI.EXE を実行する(2)

IIS で KAKASI.EXE を実行する(2)

このエピソードの続き。

 2007/02/02 IIS で KAKASI.EXE を実行する

IIS上で標準入出力のパイプライン処理をできる方法を探ってみた。

IIS上でパイプラインの処理ができない理由は、IISがプロセスを生成する時にデフォルトでコンソールを作成しないためで、有効な STDIN、STDOUT、STDERR を使用できず、パイプラインによる処理が構成できない。

 [IIS]HOWTO: CGI プロセスから子コンソールを作成する方法

この資料によれば、解決方法として、IISの設定を変更するか、Win32 API の AllocConsole() を呼び出してコンソールを作成する方法が紹介されている。
現実的な問題として、稼動中のIISの設定を変更する事はできないし、IISの設定を変更することが望ましいとは思えないので、前者の方法は採用しにくい。
と、いう事で、後者の方法を採用し、KAKASI のソースに手を入れて IIS上でパイプラインを組めるようにしてみる事にする。

まず、KAKSI のソースをコンパイルするために、Windows に cygwin をインストールする。
cygwin 上で、KAKSI のソースを展開してコンパイルすれば、普通に KAKSI.EXE をビルドできる。

今回は、Win32 API の AllocConsole() をリンクする必要があるので、cygwin のインストーラから、libs の w32api をインストールしておく。
これで、cygwin 上のコンパイラで、Win32 API を利用できるようになる。

次に、ソースコードを修正する。
src/kakasi.c をエディタで編集する。

 (1).windows.h を include する。
 (2).AllocConsole() を呼び出す。

次に、configure を実行し、コンパイル環境を作成する。
この時、いくつか調整が必要になる。

 (1).lkernel32.lib をリンクする必要がある。
   変数 LIBS に -lkernel32 を追加する。

 (2).cygwin環境ではない環境で実行する必要がある。
   変数 CFLAGS に -mno-cygwin を追加する。

と、いう事で、以下の様に変数を指定して configure し、ビルドする。

 $ LIBS=-lkernel32 CFLAGS=-mno-cygwin ./configure
 $ make

WshShell の Exec() で、作成した KAKASI.EXE を呼び出してみる。

 Set objShell = Server.CreateObject("WScript.Shell")
 Set objExec = objShell.Exec("KAKASI.EXE -w")
 Call objExec.stdin.Write("入力")
 Call objExec.stdin.Close()
 o = objExec.stdout.ReadAll()

成功!
変数 o に、わかち書きされた出力を得る事ができた。

う~ん、奥が深い。




このエピソードはいかがでしたか?

投稿者 zunbe : 2007/04/14 10:05:19 | コメント (4) | トラックバック (0)

2007/03/03

【技術開発】コメント・スパム対策(2)

コメント・スパム対策(2)

このエピソードの続き。

 2007/03/02 コメント・スパム対策

前回は、コメントのプレビュー画面が必ず表示される様に変更してみたが、効果がなかった。
相変わらずコメント・スパムが山の様に来る。
よく考えたら、そりゃそうだよな。スパムを送ってくる側は、MovableType をターゲットにして動作しているのだから、そんな程度では防げないわな。

と、いう事で、投稿時に文字入力による認証を組み込んでみた。
と言っても、画像で文字を表示して、人間の目で文字を認識させようという仰々しいものではなく、単に特定のテキストを入力させようというもの。
スパムを送ってくる相手が機械なら、これで防げるはずだ。
これでどうだ!

●2007/03/05追記
すばらしい。コメント・スパムがピタッと止まった。(^^)
# あたり前か。

本当は、トラックバックのスパムも尋常ではない数が来ているので、これもなんとかしたいのだが…こちらはちょっと難しいかなぁ…。
何か方法を考えよう。




このエピソードはいかがでしたか?

投稿者 zunbe : 2007/03/03 14:00:00 | コメント (0) | トラックバック (1)



<<先頭] [<前へ] [ 1  2  3  4  5  6  7  8  9 ] [] [最後>>