Prototype 1.6.0.2 公開
気づけば Prototype 1.6.0.2 がリリースされていた。
-
28 のバグ修正と性能の向上
-
Safari 3 における
Element#getElementsBySelector
の性能向上 -
すべてのブラウザで以下のメソッドの性能向上
Element#up
,Element#down
Element#next
,Element#previous
Event#findElement
-
Opera 9.25 以降が公式にサポート対象となった
-
ブラウザ以外の環境での XSS 脆弱性の可能性を修正
Safari 3 における getElementsBySelector
Safari では無効になっていた DOM 3 XPath が有効になったようだ(無効になっていたのは Safari のバグ絡み?)。ただし、Selector#shouldUseXPath
が false を返した場合は、いままでどおり無効になる。
ブラウザ以外の環境での XSS 脆弱性の修正
これまで Ajax.Request における JavaScript の実行(Automatic JavaScript response evaluation)では、
- オプションで evalJS が設定されていること
- Content-Type が JavaScript であること
をチェックしており、同じドメイン(プロトコルやポートも)に属しているかどうかの制約はブラウザの実装に任されていた。
しかし、Opera のウィジェットのようなブラウザ以外の環境では、こうした制約を課していないため XSS 脆弱性の原因となる可能性があった。そのため、今回のバージョンから自前でチェックするようになったようだ(Ajax.Request#isSameOrigin)。
また、同様のセキュリティに関する修正が施された 1.5 系の最新版 Prototype 1.5.1.2 も公開されている。