« 2007年01月 | メイン | 2007年03月 »

2007年02月28日

[予定] 02月28日の行動

■午前
・SG社 ウェブサイト

■午後
・SG社 ウェブサイト

投稿者 nekobara : 08:33 | コメント (0)

2007年02月27日

[予定] 02月27日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 08:52 | コメント (0)

2007年02月26日

[予定] 02月26日の行動

■午前
・XCプロジェクト (mod_auth_tkt)

■午後
・SG社 修正
・事務処理

投稿者 nekobara : 09:14 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 31回

投稿者 nekobara : 09:13 | コメント (8)

2007年02月23日

[技術] CatalystとApacheモジュールのmod_auth_tkt

【技術メモ】

mod_auth_tkt : Apacheによる静的ファイルの配信時に閲覧許可チケットを与えられている場合のみに閲覧を許可するモジュール

ログイン認証した人だけが閲覧できるウェブサイトで、基本的には動的にデータベースからコンテンツを生成するのだが、画像ファイルなどの一部は静的に配信する場合、静的ファイルを配信するhttpサーバ(Apache)にも認証機能を付けないと、静的ファイルへのURLを直接指定された場合にログインしていない人でも閲覧できてしまう。

昔のmixiがそういう状態だったらしい(http://d.hatena.ne.jp/hasegawayosuke/20061017/p1)
確認していないが今は修正されたようだ(http://www.itmedia.co.jp/news/articles/0611/09/news078.html)

これは、メインコンテンツを配信するサーバA(main.example.jp)と画像などの静的ファイルを配信するサーバB(image.example.jp)を分けた場合に、ログイン認証はサーバAで行うなら、サーバAでの認証結果を何らかの方法でサーバBに伝えなければならない。そうしない場合、サーバBは認証無しで閲覧を許可するか(誰でも閲覧できる状態)、サーバBにアクセスがあった場合に再度ログイン認証する必要がある。

そこで、サーバAでの認証結果をサーバBに伝える仕組みを実現できるのが、Apacheのmod_auth_tktだ。正確には、サーバAで、サーバBへの閲覧チケットを発行し、ウェブブラウザにクッキーとして送り込む。そして、そのブラウザがサーバBのファイルにアクセスしたときにサーバBのmod_auth_tktがブラウザのクッキーチケットを確認し、閲覧を許可する。

で、このmod_auth_tktを使ってみようとしたのだが、検索しても、日本語どころか、英語でも設定例が見つからない。開発元のサイト(http://www.openfusion.com.au/labs/mod_auth_tkt/)とソースコードに付いているサンプルプログラムだけが頼りという状態だったので、動くようになるまで試行錯誤した。そこで、忘れた時のための備忘録として、設定例を残しておく。

■状況
サーバA(main.example.jp)でログイン認証を行い、メインコンテンツはサーバAが配信する。しかし、画像だけは、サーバB(image.example.jp)は配信することにする。

■サーバAのログイン認証時にサーバBへの閲覧チケットを発行する
(Perlで、フレームワークにCatalystを利用している場合)

CPANより、Apache::AuthTktを取得する

my $secret  = "MD5のチェックSUMで、サーバBのApacheの設定ファイルに記述されているのと同じもの";
my $expires = '+60s';
my $domain  = '.example.jp';

my $at = Apache::AuthTkt->new( secret => $secret );
my $ticket = $at->ticket( uid => $userid, ip_addr => undef ); 
$c->res->cookies->{auth_tkt} = {
    value   => $ticket,
    expires => $expires,
    domain  => $domain,
    path    => '/',
    secure  => 0};

$at->ticket()のip_addrにundefを指定しているのは、サーバBの設定で、 TKTAuthIgnoreIP onとした場合はundef を明示的に指定しないと、Apache::AuthTkt->ticket()がデフォルトでクライアントのIPアドレス以外のアクセスを認めないチケットを生成する。今回の場合はなぜか、undef しておかないと、期待通りの動作にならなかった。

Cookie名は、サーバBのApacheの設定で、 TKTAuthCookieNameに指定したのと同じにする。今回の場合は、 auth_tkt。

これは、CatalystでのCookie生成方法であるが、とにかく Catalystでなくても、Cookieのチケットを生成して、ブラウザに送り込めばよい。

■サーバBのApacheの設定
例えば、image.example.jp/images/に画像が格納されており、そこにアクセスするにはチケットが必要にするには、Apacheの設定を以下のようにする。

# Protected directory example
Alias /images /var/www/images
<Directory /var/www/images>
  AuthType Basic
  require valid-user
  TKTAuthCookieName auth_tkt
  TKTAuthIgnoreIP on
  TKTAuthTimeoutMin 60
</Directory>

とりあえず、これで、サーバAにログインしてない状態で、image.example.jp/imagesにアクセスすれば拒否され、ログインしていれば、閲覧できるようになる。

投稿者 nekobara : 22:10 | コメント (2)

[予定] 02月23日の行動

■午前
・XCプロジェクト (mod_auth_tkt)

■午後
・XCプロジェクト (mod_auth_tkt)

投稿者 nekobara : 09:09 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 32回

う〜ん、ちょっと後退。あきらめずに粘って行こう!

投稿者 nekobara : 09:08 | コメント (4)

2007年02月22日

[休肝日] NONDRINKING

初日。摂生しなければと思いながらも、ついつい飲んでしまう日々。意志薄弱。

投稿者 nekobara : 22:39 | コメント (2)

[予定] 02月22日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 08:33 | コメント (0)

2007年02月21日

[運動] 本日の体操

朝:腰痛予防体操 2セット

昨日の朝から、お尻上部右側の筋肉が腫れ上がって痛い。
以前に何度かなった症状で、整形外科とかに行くと
湿布を貼って安静にしておきなさいと言われる。
体調が落ち目のときに出てくる症状だ、しばらく摂生を
少しないがしろにしていたので、その警告でしょう。

投稿者 nekobara : 09:20 | コメント (3)

[予定] 02月21日の行動

■午前
・XCプロジェクト

■午後
・事務処理

投稿者 nekobara : 08:33 | コメント (0)

2007年02月20日

[予定] 02月20日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 08:32 | コメント (0)

2007年02月19日

[予定] 02月19日の行動

■午前
・XCプロジェクト

■午後
・事務処理

投稿者 nekobara : 09:35 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 34回

投稿者 nekobara : 09:34 | コメント (4)

2007年02月18日

[その他] 山梨地域情報化シンポジウム

期間限定で公開

ニュース映像 http://wms.comlink.jp/symposium_ybs-news
第一部 http://wms.comlink.jp/symposium_20070216-1
第二部 http://wms.comlink.jp/symposium_20070216-2

投稿者 nekobara : 10:15 | コメント (0)

2007年02月16日

[予定] 02月16日の行動

■午前
・準備など

■午後
・山梨地域情報化シンポジウム@ベルクラッシック

投稿者 nekobara : 09:04 | コメント (5)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 34回

ここのところ、さぼっていて、1週間ぶりの体操だったが、頑張れた(^^

投稿者 nekobara : 09:03 | コメント (2)

2007年02月15日

[休肝日] NONDRINKING

今週、やっと初日。最近は先週もそうだが、週一日がやっとだす。
いかんなぁ〜

明日は某シンポジウムの司会、カミカミいっぱいしちゃうだろうな〜 orz
講演者の名前だけは絶対に間違いないようにしよう・・・・

投稿者 nekobara : 22:36 | コメント (2)

[予定] 02月15日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 08:54 | コメント (0)

2007年02月14日

[予定] 02月14日の行動

■午前
・XCプロジェクト

■午後
・XCプロジェクト

投稿者 nekobara : 09:06 | コメント (0)

2007年02月13日

[予定] 02月13日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 22:59 | コメント (0)

2007年02月11日

[技術] JavaScript IE, FireFox, Safariでの実装の違い

【覚え書き】

getAttribute(), setAttribute()が、IEでは一部正しく動作しない

1) class
element.getAttribute("class");は IEでNG
element.getAttribute("className");は IEでOK

2) style
element.setAttribute("style", "display:none");  IEでNG
以下はIEでもOK
element.style.cssText = "display:none";  
or
element.style.display = "none";  

3) onclick (つまりイベント)
var onclick_func = "someFunc();";
element.setAttribute("onclick", onclick_func);  IEでNG
以下はIEでOKだが、FireFox, SafariがNG
element.setAttribute("onclick", new Function(onclick_func));
で、すべてOKは
element.onclick = new Fuction(onclick_func);

参考
 http://nanto.asablo.jp/blog/2005/10/29/123294
http://d.hatena.ne.jp/potappo/20061024/1161651356

投稿者 nekobara : 13:49 | コメント (0)

2007年02月09日

[休肝日] NONDRINKING

気がつけば、もう金曜日。やっと初日。

投稿者 nekobara : 21:26 | コメント (4)

[その他] YouTube 人生相談

人生相談1
人生相談2

人生いろいろ、人もいろいろ、加藤諦三先生、お疲れさまでした。

投稿者 nekobara : 11:05 | コメント (2)

[その他] YouTube 勝手広告

本当に勝手につくったのか? それとも、新手法か?

投稿者 nekobara : 10:46 | コメント (7)

[予定] 02月09日の行動

■午前
・XCプロジェクト

■午後
・XCプロジェクト

投稿者 nekobara : 09:32 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 34回

今日は結構気合いを入れて頑張ったんだけどなあ〜 orz
最後の一踏ん張りができないのは、最後の最後にあきらめてしまった気持ちの弱さだった・・・

投稿者 nekobara : 09:29 | コメント (3)

2007年02月08日

[予定] 02月08日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 10:02 | コメント (0)

2007年02月07日

[予定] 02月07日の行動

■午前
・SG社 見積他

■午後
・XCプロジェクト

投稿者 nekobara : 08:37 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 34回

投稿者 nekobara : 08:36 | コメント (2)

2007年02月06日

[予定] 02月06日の行動

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 08:47 | コメント (0)

2007年02月05日

[予定] 02月05日の行動

■午前
・スケジュール作成

■午後
・事務処理

投稿者 nekobara : 09:03 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 32回

なかなか、35回の壁が見えてこない・・・・

投稿者 nekobara : 09:02 | コメント (2)

2007年02月04日

[休肝日] NONDRINKING

今週は、隊長殿のプレッシャーて、ぎりぎりで2日目を達成。(笑

隊長殿、今日は一日ありがとうございました。(_o_)

投稿者 nekobara : 19:42 | コメント (2)

2007年02月02日

[予定] 02月02日の行動

■午前
・スケジュール作成

■午後
・スケジュール作成

投稿者 nekobara : 09:41 | コメント (0)

[運動] 本日の体操

朝:腰痛予防体操 2セット、懸垂 31回

投稿者 nekobara : 09:41 | コメント (3)

2007年02月01日

[読書] 楽して、儲ける!

楽して、儲ける!―発想と差別化でローテクでも勝てる!未来工業・山田昭男の型破り経営論!
楽して、儲ける!―発想と差別化でローテクでも勝てる!未来工業・山田昭男の型破り経営論!山田 昭男

おすすめ平均
stars経営者にとって必読の書物
stars成果主義 契約社員オンリーの会社の経営者に読んで欲しい
starsこんな会社があるなら働きたい。とにかくユニークです!
stars自腹を切らずに、勉強しちゃいました!
starsこれからの時代に

Amazonで詳しく見る
by G-Tools

以前から、気になっていた未来工業の創業者の本があったので、さっそく買って読んだ。いやいや、痛快で、面白い。私は京セラの稲森さんよりも未来工業の山田さんのほうが好みだよ、絶対に。

ところが社長になると、経理から総務まで、会社の事は全部見る権利があるものだから、つい錯覚してしまう。権利があるという事と、会社を正しい方向に経営して行く能力を持っているという事は、全く違う事なのだが、「俺には能力がある」と思って、あらゆるところに口を出すようになってしまうのだ。(p22) (中略) 「権限はあるけど能力がないから、俺は営業以外タッチしないよ。おまえらやってくれ。その道でおまえらがプロになれ。俺は、その部分でプロになる気はない。おまえらがプロになればいい。そのために勉強はしろ、セミナーにも行け・・・・俺がそういうのだから、プロになれ」 そう繰り返してきた。社長は全能じゃない。そのことを社長自身が知らなければならない。(p23)

そうそう、社長じゃなくても、だんだん役職が上がってくると下があまり指摘しなくなるので、まちがった全能感が芽生えてくるような気がする。(気をつけなければ・・・汗)

それにしても社長というのは、単に会社をつくったから社長なのにすぎず、賢いから社長になったわけではない。私は、むしろ社長はバカだと自覚すべきだと思っている。社長が持っている権限がオールマイティなものだからといって、何にでも口を出す、あるいはすべて自分で決定・決裁・決済するなどいうのは、どだい無理な話だ。私は、本気でそう思っている。そもそも、サラリーマンを辞めて社長になったということ自体が無謀であり、バカな証拠ではないか。賢ければ、サラリーマンを辞めたりしない。(p132)

いやいや、ごもっとも。サラリーマンを辞めた私もまったくそう思う。(^^

タイムカードがなくて、就業時間は8時30分から4時45分まで。年末年始は19日、GWは10日、夏休みは10日の休み。火曜日が祝日なら月曜日も、木曜日が祝日なら金曜日も休みにして、4連休。なのに経常利益は常に15%以上。いや、いや、すごい。

会社創立25周年の1990年11月には記念社員旅行などのために、月間16日の休日日数になったそうだ。さすがに心配になった社員が、お客さんに迷惑がかかりますが、それでもいいんですかと聞いたら

「誰も迷惑をかけていいとは言っていない。ビタッと休んで、残りの日でお客さんに迷惑をかけずにすむ方法を考えろ。ただし、ローテーションを組んで、交代で休むなんてことはやるな。そんな平凡なことはどこでもやってるぞ」(p162)

だってさ。(^^

で、「必要になったら商品を持って行ってください」とお客さんに倉庫の鍵を預けたそうだ。いやいや、社員さんも考えたなあ、まさにコペルニクス的な発想。すばらしい。

おまけに、その月は、未来工業創業以来最高の売上げをたたき出したんだって、ほんとかよ、ネタだろ! と突っ込みを入れたくなるよ〜。

とにかく、笑えて、元気になれること間違いない。

投稿者 nekobara : 23:39 | コメント (3)

[休肝日] NONDRINKING

今週初日。反動で・・・・・

投稿者 nekobara : 23:38 | コメント (4)

[予定] 02月01日

■午前
・AI社

■午後
・AI社

投稿者 nekobara : 23:34 | コメント (0)