水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 2003年のえび日記 > 2003年12月

2003年12月

2003年12月31日(水曜日)

続・鳩丸高速化計画その7・XmlDataDocument

XmlDocument ではなく XmlDataDocument を使って DataSet として扱った方が速いのかと思ったりしたので、スキーマを書いたりして使ってみましたが……。

System.ArgumentException: 同じテーブル (message) を 2 つの入れ子になったリレーションシップで子テーブルにすることはできません。

こういわれて断念。イマイチ意味が分かりませんが、階層構造を持ったデータには限界があるということでしょうか。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

2003年12月29日(月曜日)

FPROG非公式忘年会 in たん清

更新: 2004年1月7日

たん(きよ)でオフということで、肉系の写真を撮りまくりました。

というわけでたん清を満喫。

その後ジョナサンに移動するも、禁煙席が空かずに待たされることに。

40分ほど待っているうちにむらまささんと合流。しかし席は空かず……。

もののけ一行は別のジョナサンへ。何故かジョナサンにこだわる一行。

関連する話題: もののけ / フィンローダさん / りゅうさん / えむけいさん / 山羊丸さん / むらまささん

2003年12月28日(日曜日)

続・鳩丸高速化計画その6・メモリ上に XmlDocument を保持する

こんな感じに。

これによって、メモリ上に XmlDocument (の、派生クラスである XmlFile) のインスタンスが保持されたままになっているので、いちいち Load() しなくて済むようになった……と思います。

※FileInfo を Refresh() するのを忘れていてハマりましたが、まあ何とか。

あとは、やはりコメントの検索に時間がかかっているので、ここを何とかする必要があります。いちいち掲示板のコメント約 1500件を検索し、これに約15秒 (!) かかっているので遅いです。ここは、データ構造をどうにかしないとどうにもならないわけで……。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

続・鳩丸高速化計画その7・日記関係

日記関係の方向。

※……でもローカルのテスト環境はちょいツラい。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

2003年12月27日(土曜日)

続・鳩丸高速化計画その5・いろいろ見直し

関連する話題: えび日記 / hatomaru.dll / 鳩丸高速化計画

2003年12月26日(金曜日)

あたしンち

「あたしンち」9巻まで全読。

個人的に一番可笑(おか)しかったのは、7巻 No.32 の同窓会の写真の話。これはホントに声を上げて笑ってしまいました。

関連する話題: 出来事 / マンガ / あたしンち

2003年12月25日(木曜日)

Referer から Referer spam の話

なんとなく Referer を見ていたら Referer spam の話 (mylog.ishinao.net)が。

REFERER SPAMの手法を使って本(日本のライトノベル系)の宣伝を行った事例が出たらしい。

以上、ishinao.net/mylog - REFERER SPAM より

ということですが、その宣伝されたというサイト、思いっきり Referer で見たことありました。

軽くログを調べると、こんな感じ。

2003-12-17 01:35:45 210.20.130.63 GET http://altba.com/bakera/hatomaru.aspx/ebi 200 - http://dash.shueisha.co.jp/pickup/index_sub8.html
2003-12-17 01:41:19 211.14.106.223 GET http://altba.com/bakera/hatomaru.aspx/ebi 200 - http://dash.shueisha.co.jp/pickup/index_sub8.html
2003-12-17 16:46:09 218.231.151.32 GET http://altba.com/bakera/hatomaru.aspx/ebi 200 - http://dash.shueisha.co.jp/pickup/index_sub8.html
2003-12-17 23:49:31 220.209.250.131 GET http://altba.com/bakera/hatomaru.aspx/ebi 200 - http://dash.shueisha.co.jp/pickup/index_sub8.html

てっきり誤送かと思っていましたが、犯行でしたか。

関連する話題: Web / spam / セキュリティ / Referer spam

恩情じゃなーい

美味しんぼ 87巻 (www.amazon.co.jp)を読んでいて、激しく気になったところが。第二話「切れあじこそ"味"」では、こういう事件が起きました。

※その後包丁は別の人の手に渡るのですが、それはこの際あんまり関係ないので置いておきます。

その後当然のように二度売りが発覚して話が盛り上がって行くわけですが、こんな発言が……。

「だが、これは海原先生の恩情だよ。あの包丁、先生に権利があるのにそうおっしゃってくださるなんて。」

以上、美味しんぼ 87巻 第二話「切れあじこそ"味"」 より

これは要するに「包丁の権利は海原雄山にある」という主旨の発言なわけですが、これに誰も異議を差し挟まないのでした。この場合、先に契約したのは海原雄山なので、海原雄山に権利があると考えたのでしょう。

しかし実際には、この包丁の権利は海原雄山にはありません。とりあえず民法 178条を全読してください……といっても、民法 178 条の条文ってたったこれだけですが。

動産に関する物権の譲渡は其動産の引渡あるに非されは之を以て第三者に対抗することを得す

以上、三省堂 『模範六法2002平成14年版』 民法第178条〔動産物権の対抗要件〕 より

動産の二度売りの場合は引き渡しを受けた者、ぶっちゃけて言えば現物を持っている者が勝ちなのです。海原雄山は山岡に包丁の引き渡しを求めることはできず、骨董屋の店主に対して「債務不履行」ということで賠償 (返金) を求めるのが筋ということになります。 まあお願いしてみても良いのですが、山岡に応じる義務はありません。

※前ページの中川の態度はある意味正しいかと思いますが。

関連する話題: 法律 / マンガ / 美味しんぼ / メモ

2003年12月24日(水曜日)

Visa詐称フィッシング詐欺

VISA を騙った、Visa International Service を称する悪質な E-mail (www.st.ryukoku.ac.jp)」という話。私も、来てないよなぁと思って念のため調べたら、ちゃっかり来ていました。

何しろ HTML メールは読めないもので、そのまま spam 保管用フォルダに直行していたという。

関連する話題: spam / セキュリティ

印紙税の還付

誤って納付した印紙税の還付 (www.taxanser.nta.go.jp)」によると、印紙税も還付受けられるんですね。いや、当然といえば当然なのでしょうが。

※しかし、間違って貼っちゃった200円の印紙のために還付請求するというのもどうかなぁ。

※関係ありませんが、約束手形及び為替手形 (www.taxanser.nta.go.jp)の場合の印紙税額を見ていて「百円手形事件」を思い出しました。200円の印紙で額面が100円ということに……。

関連する話題: 税金

続・鳩丸高速化計画その2・原因調査

二日間ほど詳細なログを取って調査した結果、遅い原因がハッキリと判明しました。

hatomaru.dll は XML データから XHTML を生成した後、それを内部にキャッシュとして保存するようになっていて、XML データが更新されていない場合は内部キャッシュを吐き出すようになっています。キャッシュがある場合は XML のパース、XHTML の生成といったタスクが発生しないため、高速です。

しかし、実は「絶対にキャッシュされないページ」というのがあります。まず、POST 後に表示される「投稿ありがとう」系のページはキャッシュしません。これはしても意味がありませんし、問題ないでしょう。ところがもう一つあって、それがなんと入力フォームのあるページ全てだったりするわけです。

入力フォームのページには、Cookie を使って投稿者の名前とメールアドレスを記録する仕組みがあります。Cookie の値がセットされている場合、フォームにあらかじめ名前が入った状態になります。これをキャッシュすると、投稿者欄に誰かの名前がセットされた状態でキャッシュしてしまう可能性があります。

※というか、実際にあって、泡を食って直したのですが。

というわけでフォームのあるページはキャッシュしていませんが、「○○へのコメント」というページ全てにコメントフォームが存在しているわけでして、それらのページは全然キャッシュされていません。アクセスされるたびにいちいちデータを読んで生成しているわけです。これが負荷の元凶。

そんなわけですから、データ構造を見直したりする前に

という対処で効果が上がるものと思われます。

※でも実装するのはちょいとばかり面倒。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

続・鳩丸高速化計画その3・画像処理

コメントフォームの話とは別に、画像をシステムの外に出した方が良いのではないかという話があったので、ちょい検討。これは実は速さの話ではなくて、「画像ファイルのアクセスも hatomaru.dll のログに一緒にたまるのが鬱陶しい」という理由で検討していたりするわけですけれども。

それで気づいたのですが、画像を外に出していなかったのは、掲示板の画像投稿機能との兼ね合いでした。画像投稿機能があるので、ASPNET さんの書き込み権限がない場所に画像を置くことができなかったのです。

……いろいろ考えた末、掲示板の画像以外は別処理にして外出しすることに決定。とりあえず実装したつもり。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

続・鳩丸高速化計画その4・コメントフォーム分離

というわけで、

という実装を行いました。これでだいぶ速くなるかと。

Cookie を使わなくなりましたので、一度投稿したことがあってもその名前は保存しません。あるいはスクリプトで保存するようにしても良いのかも……。

コメント表示にもキャッシュが効くようになりましたが、初回の表示はやっぱり遅いので、ここを速くする必要はあります。どうすれば速くなるのかはだいたい分かっているのですが、実現するためにはデータ構造の見直しが必要なので、これには少々時間がかかるかも。

※そして、何かコメントが投稿されるたびに「初回の表示」になるという。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

google電卓で三角比を求める

google電卓で三角比を求めようとして、なんかうまく行かずに一瞬戸惑いました。

原因はすぐに判明。これ、ラジアンを使うんですね。たとえば sin 30°を求めたい場合、ラジアンにすると 1/6π ですから sin(1/6*pi) (www.google.com) とすると、正しく 0.5 という結果が出ます。

※ちなみに Windows の「電卓」は [3] [0] [sin] と押すと 0.5 と出る仕組みで、ラジアンじゃないのです。

使い方を知っておけばなかなか便利かと。

関連する話題: Web / メモ

2003年12月22日(月曜日)

続・鳩丸高速化計画その1

高速化のための作業開始。

まず手始めに、hatomaru.aspx に書かれていたコードを全て hatomaru.dll 側に吸収しました。これで速くなる訳ではありませんが、コードが分離されていると何かと面倒なので。

ちなみに現在の hatomaru.aspx はこんな感じ。

<%@ Page
ResponseEncoding="UTF-8"
Language="C#"
EnableSessionState="false"
trace="false"
validateRequest="false"
inherits="Bakera.Hatomaru"
%>
<%@ Assembly name="Hatomaru" %>

ホントこれだけです。あとは Bakera.Hatomaru の PageLoad() メソッドで全てが行われる仕組み。

関連する話題: C# / プログラミング / えび日記 / hatomaru.dll / 鳩丸高速化計画

Naver のロボットまた名前変更?

dloader が Cowbot になったと思っていたら……。

NaverBot-1.0+(NHN+Corp.+/++82-2-3011-1954+/+nhnbot@naver.com)

そんなにころころ名前変えないでくださいよ……。

関連する話題: UA / dloader

いろいろ撮ってみる6

関連する話題: カメラ / 写真

2003年12月21日(日曜日)

いろいろ撮ってみる5

関連する話題: カメラ / 写真

2003年12月19日(金曜日)

遅いっ!

最近、日記が異様に遅いことがあると思いますが、原因ははっきりしています。

サーバの CPU 使用率が 100% に到達しているのです。ずっと 100% な訳ではなく、たまに 0% になったりもするので、無限ループなどのバグがあるわけではありません。動作は正常ですが、その正常動作の負荷が高すぎる状態です。

これはほとんど aspnet_wp.exe によるもので、それはもう hatomaru.dll が犯人であることに間違いありません。ヤバ目なロボットが来るとこうなる、というのは昔からあったのですが、最近はロボットが来てなくてもこうなっていたりして、そろそろ限界です。

こりゃシステムを根本的に見直さないと駄目だなぁというわけで、いろいろ作戦を考え中。

関連する話題: えび日記 / hatomaru.dll

いろいろ撮ってみる4

……いろいろな理由によって日記がメチャクチャ重くなっていますが、懲りずに写真。

関連する話題: カメラ / 写真

2003年12月18日(木曜日)

MSIE6 もう駄目かも

スターダストさんの 18日 (d.hatena.ne.jp)で触れられている MSIE の話、これまた強烈ですね。簡単に整理すると、

最初の奴ですが、スターダストさんの環境ではフリーズするとの報告。私の Windows XP + IE6 SP1 でもフリーズしました。「0%完了しました」と出たままの状態でプログレスバーが全く進まず、固まります。

キャンセルボタンを押しても全く反応なしで、二進も三進もいきません。いちおう、タスクマネージャから強制終了すると黙って終わってくれました。

どうして固まるのかは単純で、javascript: な URL のリソースを保存しようとしているからでしょう。img要素src属性でやるとこうなります。

「保存中: javascript: alert() …… 0% 完了しました」

※……でも、ならないで src 属性が空になる場合があるような……。

ちなみに javascript: ではなく mailto: な URL で試してみたところ、フリーズはせず「保存できない」というダイアログが出ました。

二番目ですが、それはもう実にいろいろなものが書き換えられます。想像を絶しています。どうも .mht というのは単にページを保存するのではなく、メールに添付するための形式として保存するという主旨のようで、そのために書き換えていると思われる節もあるのですが……なんとも読み切れません。

いろいろやってみましたが、一番訳が分からないのが !iのテストを .mht で保存したときの挙動です。勝手に Transitional にされていたり、!i が片方だけ展開されているのも謎なんですが、末尾のアンカーが書き直されているのはどうして……(.mht で保存後、ソース表示してそのまま保存したもの)。

Microsoft の「[IE5]Web ページがアーカイブ ファイル (*.mht) 形式で保存できない (support.microsoft.com)」などを見ると、.mht で保存しているのは MSIE ではないように思えますので、MSIE とは別のパーサーが仕事をしているのかもしれません (generator を見ると MSHTML なんですが、MSIE は MSHTML を使っていない……?)。

ともかくこれによって、サニタイズしたつもりのものが .mht 保存によって「復活」する可能性があるわけです。具体的に何かマズいケースがあるのかどうかはまだ分かりません。要検証です。

そして三番目。これはありえない、ありえないよ……。

@import*<>!/-&%$).,;_^~#(=url(script.css);

こんなのがインポートされるはずがない、はずがない、はずがないんですが…… (でもインポートされちゃうテストぺージ。ちなみにスクリプト無効の場合は「中止」を押すまで固まってますので注意)。[a-zA-Z0-9"'] にマッチする文字を入れるとインポートされなくなります。BELL とかの制御文字でも OK (無視され、インポートされる)。

これはもう駄目かも……。

関連する話題: UA / Internet Explorer / セキュリティ / Internet Explorer URL偽装問題

svchost.exe大フィーバー

"svchost.exe" で検索してくる人がさらに増えたなぁと思ったら、google で "svchost.exe" を検索すると「svchost.exe に何が?」がトップに来てしまうんですね。なんでやねん。

※自業自得なのですけれど、本家 Microsoft の「Svchost.exe の説明 (support.microsoft.com)」より上位になってしまうところが納得いかないのです。

せっかくなので用語に svchost.exe を追加し、そこから MS 本家の解説にリンクしておきました。

関連する話題: コンピュータ / Windows / サーチエンジン / SEO

FreeBit って誰?

ASAHIネットから【重要/Important】と称するメールが来ていました。読んでみると、今までのアクセスポイントは使えなくなるとのこと。移行しなければならないわけですが、「自動設定変更判断ツール」というものがあるのだそうで。

「自動設定変更判断」といわれても、何が何にかかっているのか良く分からないのですが……。ありそうなのは、

といったあたりでしょうか。いずれにしても判断するだけだと意味がないような気がしますが……。

ともかくも現物を見てみようということで、「asahi-net: 国内共通アクセスポイント 自動設定変更判断ツール (www.asahi-net.or.jp)」のページにアクセスしました。

クリックするだけで接続環境を判断し国内共通アクセスポイント電話番号へ設定変更します

以上、asahi-net: 国内共通アクセスポイント 自動設定変更判断ツール より

……だったら「自動設定変更ツール」で良いと思いますが……。

「実行はこちらから」と書いてありますが、何も起きないので Active X を有効に。するとこんなんでました。

「"SmartShift" は 2003-12-10 (水) 20:10 に署名されて次から配布されています。インストールして実行しますか? FreeBit Co.,Ltd. ……(中略)…… 警告: FreeBit Co.,Ltd. はこの内容が安全であることを主張しています。FreeBit Co.,Ltd. を信頼している場合のみ、この内容をインストールしたり表示してください。」

「FreeBit Co.,Ltd. を信頼している場合のみ」って言われても……。信頼するしない以前に、そもそも FreeBit Co.,Ltd. って誰ですか?

ASAHI ネットが「安全だ」と主張しているなら信頼しても良いでしょう。また、ASAHI ネットがどこかで「FreeBit Co.,Ltd. は信頼して良いです」と言っていれば、それはそれで信頼できそうです。しかし、そんなことはどこにも書かれていないわけでして……。

freebit.com (www.freebit.com) というのはありますけれども、これなのかしら?

関連する話題: Web / セキュリティ / ASAHIネット

ログ肥大

調子に乗って写真を大量に載せたりしたら、Webサーバのログがとてつもなく肥大したりして残念な思いをいたしました。

ログカッターに画像除外機能をつけないと……。

関連する話題: サーバ

いろいろ撮ってみる3

懲りずにデジタルカメラの練習。

関連する話題: カメラ / 写真

ココログエラー

ココログですが、とある操作をするとこんな画面が出ます。

「問題が発生しました。エラーが発生しました。大抵はシステムダウンではなく、入力や」……で切れていたりします。

別窓に表示されることが想定されていない画面なのか、右が切れて読めません。スクロールさせて読むと、こうなっています。

エラーが発生しました。大抵はシステムダウンではなく、入力や操作上で発生する問題です。 ココログホーム へ戻ってください。

はぁ? としか言いようがないメッセージ。「大抵は」と言われても……。しかも、ここで「ココログホーム」をクリックすると、別窓の中にココログホームが出てしまうというおまけ付き。

……あんまり考えてなさそうな雰囲気が漂っているので追求してみようかと思いましたが (何を?)、何故か自分のセッションをうまくハイジャックできなかったりして失敗。暇なときにちゃんと追試してみようかしら。

※HTTPS + Cookie って意外に面倒なのね……。HTTPS でなければ Cookie: フィールドを見るのは簡単ですし、basic 認証ならフィールド自体を手作りできるんですが。こっちにも ieHTTPheaders (www.blunck.info) を入れておこうかな。

関連する話題: ニフティ / ココログ / ユーザビリティ

バスロケーションシステム始動

西武バスのバスロケーションシステムですが、Web サイトができていますね。「西武バスバスロケーションシステム (loca.seibubus.co.jp)」。10日頃から封印が解かれていたのですが、12月15日が正式始動だったようで。

Web サイトはスクリプト必須、フレーム、マーキー、わかりにくいナビゲーションと、はっきり言って最低の部類だと思いますが、試みそのものは非常に良いと思います。Web サイトが (いろいろな意味で) 使えないとしても、停留所に情報が出るようになっていますので、この恩恵にあずかることができます。

……が、これはこれでそれなりに気合いの入った停留所にしかありません。

幸いにして携帯用のサイト (loca.seibubus.co.jp)は (これまたいろいろな意味で) 使えるので、こういうのを利用すると便利そうではあります。

関連する話題: バス / ユーザビリティ / アクセシビリティ / 写真

2003年12月17日(水曜日)

見えない禁煙マーク

バス停にあった灰皿が撤去されたという話がありましたが、今ではそこに禁煙マークが表示されています。

にも関わらず、煙草を吸う人が後を絶たないような気がする今日この頃。

焦げ茶色っぽい柱に赤い字で「禁煙」と書かれているのですが、この配色がとてつもなく微妙であり……。

これ、ちょっと遠くからだと見えませんって。

関連する話題: バス / ユーザビリティ / 写真

住基ネット侵入実験の結果

長野県から「住基ネット実験結果 速報 (www.pref.nagano.jp)」というのが出ていますね。いやー素晴らしいとしか言いようがない結果のようで。

ファイアーウォールの突破はできなかったようですが、「業務時間外にやったのでスプーフィングの元となるデータがキャプチャできなかったが、理論上はスプーフィングによってファイアウォール通過可能」なんて話もあったりするようで。

※それ以前に、「正常な」パケットは通る訳ですから Blaster みたいなのは楽勝で貫通するわけで、「ファイアーウォールがあるから大丈夫」なんてのは論外なわけですが。

あと、「閉じたネットワーク」というのは、逆に言うと「ネットワーク経由でパッチを当てるのが困難」ということでもないのか、という指摘はちょっと興味深く。SUS みたいなものを動かせば良いのでしょうけれど……。

関連する話題: セキュリティ / 住基ネット

いろいろ撮ってみる2

更新: 2003年12月18日

引き続き、デジタルカメラの練習。

関連する話題: カメラ / 写真

2003年12月16日(火曜日)

デジタルカメラを買う

みなさまからいただいたありがたいアドバイスを踏まえつつ、お店でいろいろ検討した結果、コニカミノルタ (www.konicaminolta.jp)DiMAGE G400 (www2.konicaminolta.jp) か、PENTAX (www.pentax.co.jp)Optio S4 (www.digital.pentax.co.jp)あたりが良さそうに思えました。

※どちらも外観のデザインはイマイチという評価があったりなかったりするようですが、私は外観はあまり気にしないので……。

で、いろいろ聞きつつ結局軽い方の Optio S4 を買いました。

勢いで 匠味の話WAIの話に写真を追加したり。

関連する話題: 買い物 / カメラ

デジタルカメラのユーザ登録

というわけでカメラを買ったので、「PENTAX サポート&サービス (service.pentax.jp)」でユーザ登録。

ベリサインのセキュアサイトシールが目に入りましたが無視して (別途 SSL であることは確認して)、ごにょごにょと記入。アンケート項目に「ご購入において比較検討したカメラはありますか」という質問があったので、「コニカミノルタの DiMAGE G400」と答えたかったのですが、メーカーの選択肢には「コニカ」と「ミノルタ」があり「コニカミノルタ」がないという……。「その他」と迷いましたが、DiMAGE には「MINOLTA」のロゴが入っていたはずなので、「ミノルタ」を選択。

で、全部記入して送信したらこうなりました。

入力に下記の誤りがあります

▼システムエラーが発生しました。

……ええと……。入力に誤りがあると言われていますが、その下を読むと入力の誤りとは思えないわけでして。項目を一通り確認してみましたが、必須項目は入力していますし、半角カタカナも使っていませんし、問題なさそうなのです。

駄目もとでそのままもう一度送信してみたら、今度はちゃんと登録できました。

なんだか良く分かりませんが、エラーメッセージはもう少し何とかならないのでしょうか。

関連する話題: 買い物 / カメラ / ユーザビリティ / シール

いろいろ撮ってみる

動作テストと練習を兼ねて、いろいろなものを撮ってみたり。

※……しかし、こういう写真の代替テキストって難しいですね。普通、写真は alt="" で良いのですが、こういう文脈だと alt="" では意味が分からなくなりますし。

関連する話題: カメラ / 写真

2003年12月15日(月曜日)

@i でインポート

スターダストさんの今日の日記 (d.hatena.ne.jp)によると、MSIE では @import を @i と書いても同様の機能を発揮するのだとか。

やってみたら、MSIE6 ではその通りでした。ひえぇ……。

なんとなく連想して、こんなのを書いてみました。

body{
color: #000 !i;
background: #ff0 !i;
}
body{
color: #fff;
background: #000;
}

……すると予想通り、"!i" も "!important" として機能しました(テストページ)。……これは使えるかも!

※もちろん Mozilla などのマトモなブラウザは "!i" なんてのを無視するので、MSIE だけに適用したいスタイルが書けたりするはず。もちろん邪道ですが、CSS の仕様はエラー処理方法を明確に定めているので、邪道な HTML より問題は少ないです。MSIE のバージョンいくつからこうなのか要調査ですが。

関連する話題: セキュリティ / Web / CSS / Internet Explorer URL偽装問題

HTTPリクエストに改行を混入させる

フォーム内では改行の入力は無理なので、Achilles*1を使って、HTTPリクエストを横取りして書き換える。

以上、@IT:Webアプリケーションに潜むセキュリティホール(8) より

改行の入力は hidden 書き換えの応用で普通にできると思うのですけれども……。textarea を使うという手もありますし。

もっとも、HTML 的に書けない文字を混入したりするのは厳しいので、HTTP リクエストの内容を手で書き換える方が汎用性はありますね。

※……などと言いつつ、さりげなく某所のメールフォームを修正する私。幸運にも、Jcode.pm の mime_encode を通るところで改行は自動的に取り除かれていたようで、致命的なホゥルはありませんでした。たまたまですけど。:-)

関連する話題: Web / セキュリティ

CSS2 のバックスラッシュの扱い

スタイル属性中で、ある処理系が、危険な文字列として、「background」を認識し、これをフィルターしているとします。しかしながら、「bac\kground」は透過してしまうかもしれません。多くのブラウザは、これを「background」として処理します。しかしながら、これはCSSの仕様上、おかしな話しです。いや、規定されていないので、ブラウザのメーカが適宜解釈して実装しているのかもしれません。

以上、スターダストさんのhoshikuzu|stardustの書斎 2003-12-13 Vulnerability Note VU#707100 より

"bac\kground" という文字列も警戒しなきゃいけないよという話で、それは全くその通りだと思います。

ただ、これが "background" として処理されるのは CSS2 の仕様が規定する正しい挙動です。

CSS2 では、バックスラッシュには 3種類の用法があります。

In CSS2, a backslash (\) character indicates three types of character escapes.

First, inside a string, a backslash followed by a newline is ignored (i.e., the string is deemed not to contain either the backslash or the newline).

Second, it cancels the meaning of special CSS characters. Any character (except a hexadecimal digit) can be escaped with a backslash to remove its special meaning. For example, "\"" is a string consisting of one double quote. Style sheet preprocessors must not remove these backslashes from a style sheet since that would change the style sheet's meaning.

Third, backslash escapes allow authors to refer to characters they can't easily put in a document. In this case, the backslash is followed by at most six hexadecimal digits (0..9A..F), which stand for the ISO 10646 ([ISO10646]) character with that number. If a digit or letter follows the hexadecimal number, the end of the number needs to be made clear.

以上、CSS2 4.1.3 Characters and case より

Second のところで "Any character (except a hexadecimal digit)" と書かれていることに注目して頂きたいわけですが、"k" も "Any character except a hexadecimal digit" に該当しますので、"\k" はこの用法になります。仮に "k" が区切り子としての機能を持っていたとすると、"\k" と書くことで "k" という文字列を表現できます。実際には現在の CSS では "k" に区切り子の機能はありませんが、なにしろ "Any character" ですから "k" にもこの表現は使えるのです。

そんなわけで、"\k" と書かれたものは "k" という文字列として扱われることになります。

※ちなみに CSS3 でも同様になる予定。CSS3 Sytntax 4.1. Characters and case (www.w3.org) 参照。

余談ですが、この辺りで意外にくせ者なのが、16進数で表記したモノの後ろの空白ひとつが無視されるという仕様。話の元ネタである Vulnerability Note VU#707100 (www.kb.cert.org) には 「\73CRIPT」という例が出ていますが、\73 の後ろにスペースをひとつ入れて「\73 CRIPT」としても、やはり SCRIPT と解釈されることになっています。この辺も要注意かも知れません。

※実は昔 "MS ゴシック" という文字列をエンコードしようとしてハマったことがあります。

関連する話題: CSS / CSS2 / Internet Explorer

2003年12月14日(日曜日)

すきやきメモ

謎の論争があったので、ちょっとメモ。

すき焼き・しゃぶしゃぶのこだわり (www.tanbaya.net)

関連する話題: メモ / 飲食物

2003年12月12日(金曜日)

デジタルカメラを選ぶ

実は最近、デジタルカメラが欲しいと思っています。

で、ちょっと見に行ったのですが、いろいろあり過ぎて何がなんだか。ほとんど全てに「今売れています!」という表示があったりしますが、全ての項目に「New」がついているリストと同じで全く意味がないというか……。

正直、どうやって選んだら良いのやらサッパリです。とりあえず要件を挙げるとこんな感じ?

関連する話題: 出来事 / 思ったこと / カメラ

2003年12月11日(木曜日)

ホームページ・リーダーでイメージマップを読む

更新: 2003年12月12日

IBM ホームページ・リーダー (www.amazon.co.jp)は、通常のモードでイメージマップに出会うと「2個のマップの先頭。」などと読み上げて、イメージマップがあることだけを伝えて読み飛ばします。イメージマップ内の各リンクを利用したい場合は、行読み上げモードやリンク読み上げモードを使用します。

モードを変えて改めて読み上げると、イメージマップ内の各 area をそれぞれ a要素と同じようにして読み上げて行きます。

ここまでは問題ありません。しかし、area に nohref 属性が指定され、かつ alt 属性に空でない値が指定されていると問題が起きます。そのような area は他の area と全く同じように読み上げられるのですが、リンクをたどろうとしたところで初めて「リンクがありません」と言われてしまうのです。

これは混乱を招くので、nohref には気をつけた方が良いかも知れません。nohref には常に alt="" を指定するようにすればある程度避けられますが、その場合でも「n個のマップの先頭」と読み上げられる n の数と実際のリンクの個数が食い違うという問題が起きます。

※また、既知だと思いますが一応書いておくと、「altのないイメージを通知する」が有効でない場合、alt="" の指定されている area は全く利用できなくなります。

※2003-12-12 追記 : alt="" が指定されているのではなく、alt 属性自体がない場合は URL が読まれるようです。ロックマンさんご指摘ありがとうございます。

関連する話題: Web / アクセシビリティ / UA / ホームページ・リーダー

IEホゥル : NUL文字攻撃で URL 表示捏造可能

更新: 2003年12月11日

信蔵さん (shinzlogclips.blogspot.com)に教えて頂いた情報ですが、

「http://www.microsoft.com^A@」の後ろに 好きなページの「http://」以下をくっつけてIEにURLを貼り付けると 全部MicrosoftのURLになっちゃう。

IEのバグらしいよ。だから他のブラウザじゃ出来ません。

以上、hanazucさんのNOT WILD STYLE より

※^A とした部分は、引用元では NUL 文字。

……という話があるようで。これ、私の環境でも見事に再現しました。

URL 自体は userinfo を含むものとして正常に扱われているのですが、URL 表示欄では NUL文字から後ろが切れているわけですね。その結果、URL 表示欄には NUL 文字の前しか表示されないと。GET される URL 本体に NUL文字が入っている場合はサーバ側で駄目なので問題なかったりしますが、userinfo の中に NUL 文字を混入すると GET は正常に行われると。

内部的には正しい URL が認識されているようで、クロスドメインのセキュリティモデルが破れるには至っていないのですが、URL 表示欄を誤魔化せるということ自体が問題です。たとえば、銀行のログインフォームそっくりなページを作っておいてこの方法でアクセスさせれば、銀行のログインフォームそっくりのページが表示され、URL 表示欄には本物の URL が表示されているという事が可能なわけで。

※もっとも、捏造しようとする URL に / が含まれると userinfo の一部とみなされないので、ドメイン直下の URL でないと捏造できません。

※……と思ったのですが、撤回。単に %2f を使うだけでクリアできました。何でも捏造し放題です。yamamoto さんご指摘ありがとうございます。

これはちょっとまずいなぁ。

※追記。「IEにURLを偽装できるパッチ未公開の脆弱性が発見される (internet.watch.impress.co.jp)」という記事が出ていますね。「ただし、まだ攻撃コード(exploit code)が発見されていないことから緊急度は低く」っていったい……。こんなの 1分でできるんですが(えび日記を MS の URL に見せかけるテスト)。

関連する話題: Web / セキュリティ / Internet Explorer

2003年12月10日(水曜日)

バスロケーションシステム

しばらく前から不透明なプラスチックカバーの向こうで密かにうごめいていた「バスロケーションシステム」の封印が解かれた模様。

なんか次発は「テスト中」とか表示されていたりしますけれども、まあ便利かと。

関連する話題: 出来事 / バス

近火点

このまま何もしなければ、「のぞみ」は近火点を通過後、火星中 心の双曲線軌道をたどって、12月16日に火星の重力圏を脱出し、太陽中心の軌道に入ります。

以上、JAXAの火星探査機「のぞみ」の火星周回軌道への投入断念について より

「近火点」という言葉があるのですね。初めて聞きました。「近日点(きんじつてん)」の「日」が火星の「火」になっただけなので、意味は分かりますが。

関連する話題: 宇宙 / 科学

匠味

更新: 2003年12月16日

とても久しぶりにモスバーガーに行き、せっかくなので限定品の匠味チーズ (www.mos.co.jp)を食べてみました。

さすがに味は良いのですが、食べにくいのが難点。これはモスバーガーのハンバーガー全般に言えるのですが、ジューシーな分だけ食べにくくもあるわけで……。包みから出さずに食べれば良いと人は言うのですが、これがなかなか難しいです。もう少し小さいと良いと思うのですが。

※実際、むらまささんがソースを垂らして大ダメージ。

※ジューシーでなくして欲しいわけではありませんので、念のため。

なお、匠味を買うともれなく製造責任者直筆のカードがもらえます。せっかくなので写真。プライヴァシーを考慮して、署名部分はいちおうモザイク処理しました。

「師走……昔の人はうまいこと考えましたよね……」という

深い含蓄があるような無いようなお言葉が入っていますが、これは一枚一枚異なっています。

関連する話題: 出来事 / 飲食物 / 写真

IP アドレス逆引きツール

ログファイルの中の IP アドレスを逆引きしまくりたいようなとき、ひとつずつ逆引きするのは面倒だったりします。なので、まとめて逆引きするツールを作ってみました (gbk.zip, ソースつき)。

テキストファイルのファイル名を指定して起動すると、テキストの中にある IPv4 アドレスっぽい文字列を片っ端から逆引きします。10分くらいで作ったツールなのでエラー処理などはテキトーですが。

なお、動作には .NET Framework が必要です。コマンドラインツールです。

関連する話題: C# / プログラミング / .NET

2003年12月9日(火曜日)

ネクタリスにハマる

午前中ネットワークが不調でイマイチ仕事にならなかったので、なんとなくネクタリス (www.amazon.co.jp)をプレイ。

ネクタリスというのは戦術シミュレーションゲームで、ハドソンから PC エンジン (って単語自体懐かしい) 用ソフトとして出ていたものです。それがどういう経緯でか、ありがたいことに Windows 版がフリーソフトとして公開されているので、ダウンロードだけしておいたのでした。

※残念ながら、現在は公開されていないようです。

これがなかなか面白くて、一気に 13面くらいまで侵攻してしまったり。

関連する話題: ゲーム

2003年12月8日(月曜日)

Cowbot

実は最近ログをあんまり見ていなかったのですが、妙に重いので久しぶりにチェックしてみると、"Cowbot-0.1.1+(NHN+Corp.+/++82-2-3011-1954+/+nhnbot@naver.com)" という User-Agent に数秒~十数秒スパンで爆撃されていました。"NHN Corp" という文字列、"naver.com" という文字列、これらはいずれも dloader を連想させます。

調べてみると、この Cowbot という UA の初登場は 11月4日ですが、いきなり爆弾 1000発投下されています。やはり行動パターンは dloader にそっくり。そして同じタイミングで dloader がぱったりと来なくなっています。

ということで、結論としては「dloader は Cowbot に改名した」ということでよろしいかと。そして残念なことに、変わったのは名前だけのようで……。連絡先の情報が入ったのはまあ良心的といえば良心的なのでしょうが、肝心のロボットの挙動をどうにかして欲しいところです。

関連する話題: Web / UA / dloader / 絨毯爆撃

ココログ改造

スタイルシートを適用しつつ valid にするのはなかなか難しいようで。

とりあえず exploit.cocolog-nifty.com (exploit.cocolog-nifty.com) は鳩丸スタイルにしてみましたけれども、不正なコメントがあって Well-formed にもなっていないという。

ちなみにタイトルに "<--" という文字列を含ませると、これが管理画面の title要素内にサニタイズなしで出力されてしまうため、一部の機能が使えなくなったりします。要注意。

関連する話題: ココログ / ニフティ

DOMでココログ改造

更新: 2003年12月8日

というわけでいろいろやってみたのですがうまく行かなかったので、開き直って DOM で何とかしてみました。以下メモ。

※追記: ">" の方は一応書けます。というか最初 < と > を間違えて書いていたという。

関連する話題: ココログ / ニフティ / DOM / メモ

2003年12月7日(日曜日)

カトリ吟味

ティアリングサーガ (www.amazon.co.jp)、イスラの沼でひたすらカトリの吟味。2回目編成以降では鍛えられないですし、ここでやるのがベターかと。

結果、レベル 22 まで来たところで技18、運23、守備力8 で、もう後がない状態。レベル 30 で HP 以外フルパラを達成するには、あと 8レベルで守備力 8 と技 1 を上げる必要があります。「技・守備力・HP」が 1回、「守備力・運・HP」が 7回出ないといけないわけですが……前者は 0.2% (= 500分の1)、後者は 0.8% (= 125分の1) なので地獄です。期待値通りに出るとして 1000回ほどリセットが必要という。

※実は魔力と素早さもちょっと上げる必要があるのですが、それはまあ勝手に上がる範囲。

結局スーパープルフになりそうな予感。スーパープルフありを前提にするとレベル 40 までに達成すれば良いので、「守備力・HP」を 8回、「技・HP」を 1回、「運・HP」を 7回、「HP」4回で良く、それぞれ 2%、4%、16%、40% なので 400回くらいで何とか……って、それでも 400回ですか。やはり成長率 5% の守備力が厳しいですね。

※でもここまでで守備力 7ポイント上げてるんで、あと約半分ではあります。

関連する話題: ゲーム / ティアリングサーガ

2003年12月6日(土曜日)

なんとなく K-1

レミー・ボンヤスキー (www.so-net.ne.jp)の膝蹴り激強。

しかし武蔵 (www.so-net.ne.jp)も良くやったというか、正直ここまでやるとは思っていませんでした。

関連する話題: 格闘技

2003年12月5日(金曜日)

ココログつかいにくい?

正直 blog にはあんまり興味ないのですが、もののけ各位から「ココログ (www.cocolog-nifty.com)使いにくい」「使い方が分からない」という話が聞こえてきたので、私も試してみました。

……「使いにくい」どころか使えませんでした。記事を反映しようとすると「反映中... 」と出て、そこで停止。どうもスクリプト有効前提のようで。

仕方なくスクリプト有効にして試してみましたが……記事内容としてタグ様のものを入力したとき、サニタイズされるんだかされないんだかはっきりしてください! 管理画面の記事一覧ではちゃんと表示されているのに、実際の画面では激しく乱れたりしているのは勘弁して欲しいです。HTML の話題を書くときはかなり要注意かと。

スタイルが既存のいくつかのものから選択できるのですが、全く新しいスタイルを作るにはスクリプトを活用するしかなさそうですね。サブタイトルなどもサニタイズされていないので、スクリプトを書いて DOM でなんとかできます。

※ちなみに私のテスト用は exploit.cocolog-nifty.com (exploit.cocolog-nifty.com) にあったりしますが、あっという間に消滅するかも知れません。

関連する話題: 出来事 / ニフティ / ココログ

2003年12月4日(木曜日)

RDF違い

新聞に「RDF……」という見出しが出ていたので、おっ、と思って読んでみたら、"Resource Description Framework" ではなくて "Refuse Derivered Fuel" の方でした。三重で爆発事故が起きて死傷が出たりして、安全性の問題が出ているアレですね。

関連する話題: 出来事

2003年12月3日(水曜日)

一太郎2004

「一太郎13」の次は「一太郎2004 (www.ichitaro.com)」だそうで、バージョンが一気に 1991 もアップ! (違う)

前回はスペシャルパックを買って「花子13」も入れたのですが、それは「どうも SVG が扱えるらしい」という噂を聞いたからでした。ところが、SVG は一応書き出せるものの読み込みできないということが判明して残念な思いを満喫。

で、今度の「花子2004 (www.justsystem.co.jp)」はどうかというと、「図面ファイルの互換性 (www.justsystem.co.jp)」を見る限りではやはり SVG は書き出しのみのようで。

花子はホントに 2回くらいしか起動してないですし、今回はいらない感じ。

関連する話題: ジャストシステム / 一太郎 / 花子

学習した?

ニフティが「blogサービス[ココログ] (www.cocolog-nifty.com)」というのを始められたようで。

試しにちょっと登録してみたりしましまたが、ユーザごとにサブドメインを使わせる仕組みになっているのですね。なので、クロスサイトトレーシングで他人のパスワードを盗んだりするのはちょっと難しいかなと。

過去の事例から何かを学習されたようで、何よりです。

※まあそれとは別にパスワードの扱いについて気になる点がいくつかありましたが、アレに比べれば軽微ですし気にしないということで。

関連する話題: セキュリティ / ニフティ / ココログ

2003年12月2日(火曜日)

最後の「イラク便り」

イラク便り (www.mofa.go.jp)」が更新されていますね。

関連する話題: 出来事 / 政治

闘技場に入り浸る

ティアリングサーガ (www.amazon.co.jp)は、まだマップ 7。敵は全滅しているのですが、リュナンとジークの二人が闘技場に入り浸る毎日。ちなみにパラメータはこんな感じ。

リュナンはちくちくと吟味してきた甲斐あって、そこそこの強さ。クラスチェンジ後、運次第ではドーピングなしでフルパラになる可能性もあります (HP はクラスチェンジで +3 されて 50、残り 10 なのでギリギリですが)。

ジークはそもそもフルパラにする必要が全くないので全く吟味していないのですが、それでも運と HP 以外はフルパラ。変態です。

既にレベルは最大なのですが、Crt 補正つきの鋼の剣がもう少し欲しいので、リュナンの兵種撃破数稼ぎを兼ねて闘技場入り浸り中。別に対戦用究極データを作ろうとしているわけでもないので、兵種撃破にこだわる必要はないのですが。

しかし、連続長時間プレイができないと、吟味もしないのに記憶の杖が減って行くというのが悲しい……。

関連する話題: ゲーム / ティアリングサーガ

2003年12月1日(月曜日)

微修正

PathTooLongException 問題に対応するべく、「長すぎる場合は途中で斬る」ルーチンを追加。ad hoc な対応ですが、まあ無いよりマシということで。

ついでに PATH_INFO からパラメータを取得するルーチンをちょっと改良。

※バグが出ないことを祈る。

関連する話題: えび日記 / hatomaru.dll

せっかくの text-shadow 対応も

むう。SafariはCSSのtext-shadowに対応していたとは。というかこのプロパティに対応しているブラウザなんて初めて見ましたよ。

以上、りゅうさんの偽偽夜食日記の部屋 2003年11月 より

しかしその text-shadow は CSS2.1 では

The 'text-shadow' property is not in CSS 2.1.

以上、CSS2.1 Changes より

となる予定だったりして、諸行無常の響きあり。

※もっとも、まだワーキングドラフトなんで分かりませんし、CSS3 Text Module (www.w3.org) には入る予定のようですが。

関連する話題: CSS / CSS2.1

「イラク便り」はもう……

なんてこと……。

イラク北部で日本人外交官2人殺害 並走車から銃乱射 (www.asahi.com)」というニュースは、H-IIA 失敗よりも衝撃的でした。

殺害された方の一人は「奥参事官」と報道されていましたが、その名前に聞き覚えがあるような気がして、嫌な予感がしたのです。確認したところ、的中。「イラク便り (www.mofa.go.jp)」を書かれていた方でした。

※もちろんお会いしたことはないのですが、私はこの「イラク便り」をたまに読んでいて、ブックマーク (お気に入り) にも入れていたのです。

※この事件について、日本軍事情報センター最新情報 (www.kamiura.com)に神浦 元彰さんのコメントが出ています。やりきれない。

関連する話題: 出来事 / 政治

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーションウェブの仕事力が上がる標準ガイドブック 5 WebプログラミングWeb Site Expert #13Dreamweaver プロフェッショナル・スタイル [CS3対応] (Style for professional)

その他サイト