タグ

JavaScriptとXmlHttpRequestに関するAmaiSaetaのブックマーク (3)

  • XHR XSS の話. - ほむらちゃほむほむ

    概要 CORS が「幾つかのブラウザの先行実装」の状況から「古いブラウザではサポートされない機能」に変わりつつある頃合いなので,XHR2 が XSS の起点になりますよってお話. そもそも XHR XSS って何よ 簡単に言うとXHR2 による XSS のことのつもり.身近なところだと,jQuery Mobile がやらかしたり,大阪府警がやらかしたりした. 具体例1 jQuery Mobile jQuery Mobile については,jQuery MobileのXSSについての解説 で解説されるとおり. かいつまんで言うと,jQuery Mobile に location.hash の変更( hashchange イベント発火)時に,location.hash を URL とみなして読込んで,ページ内容を変更という機能があって,その読込先 URL にクロスドメインの制約がなかったので X

    XHR XSS の話. - ほむらちゃほむほむ
  • XMLHttpRequestのPOSTメソッドにおけるFirefoxとIEの挙動の違い

    XMLHttpRequestオブジェクトを使えばJavaScript上からPOSTメソッドを実行できる。 しかし、先に紹介した「Cross-Browser XMLHttpRequest」はIEとFirefox(及び部分的にOpera)に対応したクロスブラウザーなXMLHttpRequestを提供するが、このPOSTメソッドにおいて微妙な挙動の違いが起きる。 これはXMLHttpRequestオブジェクトが生成するデフォルトのRequestHeaderの違いのようだ。 IEとFirefoxにおいて以下のようなコードを書いてサーバにデータをPOSTしてみた。 var req = new XMLHttpRequest(); if (req) { req.onreadystatechange = function(){ alert(req.readyState+":"+req.status); i

    AmaiSaeta
    AmaiSaeta 2011/08/04
    XMLHttpRequestを使ってPOSTする場合は、 xhr.setRequestHeader("content-type", "application/x-www-form-urlencoded;charset=UTF-8"); する必要が有る。
  • XMLHttpRequestをクロスドメインで行う方法(Firefox) - -

    追記: 以下の方法はFirefoxでXMLHttpRequestのクロスドメインのセキュリティ制限を回避する(無視する)方法ですが、Firefoxでしか使えずかつJSのコードに変なものを書かないといけないので、単純なデバッグ・実験用途にしか使えないです。それに、サービス側がJSONPに対応していればそれを使うし、JSをロードするドメインのサーバに簡単なリバースプロキシを用意するとクロスドメインではなくすることがすぐ可能なので、FirefoxでPriviledgeManagerをごにょごにょするより、最初からFirefox以外でも通用する方法をとった方が、二度手間にならなくて楽だと思います。 Livedoor Readerをちょっといじいじしてみようと思いつきで始めた。(Ajax初心者) トップのHTMLと、そこからロードされるたくさんの*.jsを wget (-k でざっくりリンク変換しつ

    XMLHttpRequestをクロスドメインで行う方法(Firefox) - -
    AmaiSaeta
    AmaiSaeta 2009/06/15
    んー、でも他の環境では使えないからあんまり実用的ではないか。警告ダイアログ出るらしいし……
  • 1