Admintech.jp に参加

Admintech.jp 大阪に参加しました。

Admintech はプロの IT 技術者向けの勉強会という位置づけなので、プロでもなんでもない自分が行ったものかどうかは微妙なのですが、まぁ、とりあえず分かる範囲で楽しんできました。

今回のテーマはブラウザで、4人のスピーカーによる話がありました。

下の通り、自分が感じた印象でタイトル分けして、聞いた話のメモを記入。

正式なタイトルは公式ページを参照。

第13回 Admintech.jp勉強会 - Admintech.jp

IE での Web セキュリティ

IE脆弱性のお話。主に XSS がらみ。
最近はセキュリティ製品が不正な Javascript を実行しないようにフィルタをするんだけど、文字コードUTF-7 を使うと、あまりに柔軟に JavaScript が記述できてしまい、フィルタを素通りして非常に危険。
じゃあ、UTF-7 を使わなければいいのだけど、IE文字コード自動判別が判断し切れなかった場合、デフォルトで UTF-7 になってしまうという仕様とのこと。なので、クラッカーさんは、IE文字コードをうまく判断できないように工夫して、不正な Javascript を埋め込むそうな。なのでサイト管理者の方は、メタタグにちゃんと Charset を指定しましょう。
あと us-ascii でも偽装した Javascript を埋め込めるそうなので、使わないようにしましょう。

他にも問題点はあって、IE にはスタイルシートスクリプトを埋め込めるそうで、例えば、

<div style='expression(alert(1))'>

と記述するとアラートダイアログが実行できてしまう。なので動的なスタイルシートを生成したり、ユーザが指定できるサイトは注意しましょう、という話でした。

WebKit

Google chrome でも注目を浴びた WebKit の話。

WebKit の公式ページ
WebKit

今の Web には、JavaJavascriptFlash などのインタラクティブ技術や、ユーザに合わせたコンテンツの自動提供、ユーザのページ遷移を追いかけるトラックなど、動的に、複雑になってきていている。なので、それを表示するブラウザの性能が重要になってくる。

WebKit を使ったブラウザには、Apple Safarigoogle chrome がある。
WebKit は、軽量ながら、ASID 3 にもパスしていて標準化に対応。更にCanvasSVG が使用できる。OSS &マルチプラットホームで、Nokia S60 や iPhoneAndroid などの組み込み製品でも利用されている。

WebKit はあくまでレンダリングエンジンであって、サーフェイス部分は提供しない。Safari は、MacOS X の CoreGraphics フレームワークを使用している。Windows 版は、CoreGraphics を移植して使用している。
それ以外に、Cariro というオープンソースグラフィックスライブラリがある。

WebKit を直接ビルドする場合、Visual Studio 2005 SP1、Cygwin を用意する必要がある。ビルドした WebKit を使用するには、 Safari が必要になる。
あと、Adobe AIR や Qt を利用する方法もある。

デザイナ向けとして、HTML Validator や Web Developer Resources がある。
WebDevelopers – WebKit

IE 8 beta2 について

IE8 は、Web 標準に準拠することを目指す。過去の HTML には互換モードで対応する。

面白い機能として「アクセラレータ」というのがあって、ページ内で選択すると、左上にアクセラレータボタンが表示され、これをクリックすると、ポップメニューが出てきて、選択部分に対するアクションが選択できる。
価格コムと提携しているそうで、デモでは選択した製品名を、アクセラレータから価格コムにアクセスして、今の安値を調べていた。
(すでにそんなソフトがあったような気もするけど・・・)

互換表示モードで表示するかどうかは、読み込んだ HTML ファイルを見て判断する。判断ポイントはメタタグの部分。ちなみにイントラはデフォルトで互換表示モードになるそうな。(なんで???)
Web 標準モードで表示するか、互換モードで表示するかは、URI バーの右端に切り替えボタンがあって、ユーザはそれを使って選択できる。

互換表示モードの場合、IE7 のパーサエンジンを利用するのではなく、IE8 が IE7 をエミュレートするだけ。ユーザエージェントも、IE8 の互換表示モードと分かるように Trident 4.0 の文字が入る。

互換といっても IE7。IE6 ではない。またレンダリングが互換という意味で、ActiveXプロセスモデルは互換にはならない。

Web アプリは、ALT7.0SP1 以上のみ互換あり。Visual Studio 2005 ならセーフ。Visual Studio .NET 以前のものは動かないように制御される。そういうアプリは VS 2005 or VS 2008 でリコンパイル

1プロセスに対し、1credencial なので、BASIC 認証を使っていて、認証後に別 Window で作業するようなページはアウト。Cookie を使ってください。

アップデートは、IE6 -> IE8 ではなく、IE6 -> IE7 ->IE8 でする。
また、SP3 の導入がまだなら、SP3 を入れてから IE8 を入れること。

http://www.microsoft.com/japan/windows/products/winfamily/ie/beta/default.mspx