< 質 問 >
K4 のセキュリティが改善

K4 0.08 を公開しました。
不具合レポートを歓迎します。

この版ではセッション中のみ有効な Cookie を使ってセキュリティチェックを行えるようにしました。ログインに成功するとブラウザのキャッシュ上に認証関連の情報が置かれ、K4 のすべての操作でそれが参照されます。

ブラウザが終了するとキャッシュデータは跡形もなく消えるので、Cookie 嫌いな人にも許容してもらえるのではないでしょうか。

セキュリティチェックを Cookie によるか、従前の方法によるかは XMailCFG の環境設定で選択することができます。ただし、WWW サーバに IIS を使う場合は強制的に従前の方法になります。

#通りすがりさんへ
アドバイスありがとうございました。
自分の作品がどうなっているのか、だんだん分からなくなってきました。(笑)

#IIS ユーザのみなさんへ
ずいぶん試行錯誤してみましたが、IIS では期待した通りに動作してくれません。IIS における Cookie の動作について情報をお持ちの方はお知らせください。

cop (05.08/01)


【 通りすがり (05.09/01) 】

>この版ではセッション中のみ有効な Cookie を使って
>セキュリティチェックを行えるようにしました。

お忙しい中、ありがとうございます(大汗)。。。
今、動作確認中です。

とりあえず、1点気になったのは、
config.cgi中の、

 $domain = '_'; $user = '_'; $pass = '_';

の部分です(2個所有り)。完全に潰してしまうと、
'?'以降を含めたURLがユニークにならないので、何でも
キャッシュするようなproxy(の類)が有ったらまずい
かも??なので、$pass以外は残す方がよいのではと。
私の希望としては、

 $domain =~ y/0123<略>/gxod<略>/;
 $user   =~ y/0123<略>/gxod<略>/;
 $pass   = '_'

と、ユニーク性&匿名性(笑)を保ちつつ潰す、と。。。



【 通りすがり (05.09/01) 】

>IIS における Cookie の動作について情報
>をお持ちの方はお知らせください

ttp://www.microsoft.com/JAPAN/support/kb/articles/JP176/1/13.HTM
とか、
ttp://sidecar.ics.es.osaka-u.ac.jp/php-jp/archives/msg09405.html
要は、login.cgiをnph-login.cgiにリネームしろ、
という事らしい、、
(例によって「仕様」だと言っている)

p.s.
もう一件、要望がありますが、こちらはメールにて。。



【 通りすがり (05.09/01) 】

>(例によって「仕様」だと言っている)
訂正:
「仕様に違反しています」と書いてあったね。
ヨミ間違い。



【 cop (05.10/01) 】

通りすがりさんのメールのおかげで
苦しんでいます。(笑)



【 cop (05.11/01) 】

というわけで、K4 0.08a を公開しました。
多少はよくなったはず。



【 通りすがり (05.11/01) 】

>多少はよくなったはず。
ご苦労様です。ヒマ出来次第見ます。。

>苦しんでいます。(笑)
perl5.6x(win)ではMD5関数が使えるようですね。
概要をメールします。また苦しませることに?(嬉)



【 通りすがり (05.13/01) 】

> K4 0.08c  (2001/05/13 更新)
密かに(笑)日替わりアップデート中。。。

# で、IIS4での残存問題とは??



【 cop (05.14/01) 】

通りすがりさん

認証プロセスを通過したユーザをメニュー画面にリダイレクトするときに Cookie をセットしようとしているのですが、IIS 5.0 の場合は

print "HTTP/1.0 302 Redirect\r\n";
print "Location: XXXXX.html\r\n";
print "Set-Cookie: YYYYY\r\n\r\n";
exit;

で Location 先(xxxxx.html)で Cookie(YYYYY)が有効になるのですが、IIS 4.0 ではそうなりません。(Cookie がセットされない)

ちなみに、Apache や An HTTP Server、Sambar Server などは以下のようにするとうまく行きます。

print "Set-Cookie: YYYYY\nPragma: no-cache\n";
print "Location: XXXXX.html\n\n";
exit;

こちらの場合も含め、思いつくパターンを片っ端から IIS 4.0 で試してみましたが NG でした。今はちょっと頭を冷やしているところです。


記事の先頭へ▲ 
SUPER LABORATORY