タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

xhrとsecurityに関するteppeisのブックマーク (7)

  • Engineering – Foursquare – Medium

    Chicago Engineering UpdateIn January, we shared an announcement that Foursquare was opening a new Midwest engineering hub. We are pleased…

    teppeis
    teppeis 2013/12/13
    document.domain
  • Ajax - Goodbye, JSONP. Hello, Access-Control-Allow-Origin : 404 Blog Not Found

    2010年08月17日06:45 カテゴリLightweight Languages Ajax - Goodbye, JSONP. Hello, Access-Control-Allow-Origin もうそろそろJSONPとはお別れできるのではないかと思い立ったので。 XMLHttpRequestとその問題 AjaxといえばXHRの愛称で親しまれているXMLHttpRequestですが、これには一つ重大な欠点がありました。 これを発行するDHTMLページのドメインが、Request先のドメインと一致する必要があったのです。いわゆる Same Origin Policy というやつです。おかげでサイトをまたがって使えなかったのです。これではマッシュアップできない。どうしよう。 JSONPとその問題 そこで生まれたのが、JSONPという手法です。 これは、scriptノードを追加した時に、単

    Ajax - Goodbye, JSONP. Hello, Access-Control-Allow-Origin : 404 Blog Not Found
  • Cross-Origin Resource Sharing (CORS) - HTTP | MDN

    Cross-Origin Resource Sharing (CORS) is a mechanism that uses additional HTTP headers to tell browsers to give a web application running at one origin, access to selected resources from a different origin. A web application executes a cross-origin HTTP request when it requests a resource that has a different origin (domain, protocol, or port) from its own. An example of a cross-origin request: the

    Cross-Origin Resource Sharing (CORS) - HTTP | MDN
  • Access-Control-Allow-Origin試してみた。 - ミルク色の手紙

    Access-Control-Allow-Origin使うと、 XmlHttpRequestでクロスドメイン接続できるらしいので、そりゃおもしろいとレッツトライ。 とりあえず、テストドメインtest.devの公開領域に次のスクリプトを準備。 <?php header('Access-Control-Allow-Origin:http://localhost'); header('Content-Type:text/plain;charset=UTF-8'); echo 'Hello World'; で、localhostの公開領域に次のHTMLを置く。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http

    Access-Control-Allow-Origin試してみた。 - ミルク色の手紙
  • withCredentails – aduca

    なんか前のエントリが僕の頭の悪さを露呈しまくっていてよくない感じだったのできちんと書き直すことにした。 withCredentailsの概要 ようするに var xhr = new XMLHttpRequest(); xhr.open('GET', 'http://www.nicovideo.jp/'); xhr.withCredentials = true; xhr.send(); とすると、www.nicovideo.jpドメインに自分の持っているwww.nicovideo.jpドメインのCookieがついた状態でGETリクエストが飛ぶという話。 嫌な話 将来的にどうなるのか一切わかんないんだけど、まぁ要するにニコニコの外部プレーヤーって、ログイン済みだとエコノミーじゃなくて普通の動画リソースを返してくれたりするのです。プレミアムだったら高画質とか。 んで、そのためにはCookieが必

  • XMLHTTPRequest Lv2のハマりどころ – aduca

    Safariのみしか検証してないけど。 XHR Lv2でクロスドメイン通信が出来るようになった。 コード的には var xhr = new XMLHttpRequest(); xhr.open('http://other.domain.com/example'); xhr.send(); みたいにするのだけれど、これでアクセスすると、例えばmain.domain.comからつないだとき、.domain.comで登録されているCookieが送信されない。 .domain.comでセッションクッキーを置いておいて、他のドメインにコンテンツを置き、そのセッションのクッキーだけをわせるというのは結構あると思うのだけれど、それをするためには xhr.withCredentials = true; のようにしないといけない。んでここからがハマるところで、 Access-Conrtol-Allow-D

    teppeis
    teppeis 2011/01/25
    「Credentialがついているときはドメインの指定にワイルドカードが使えない」
  • [さらに気になる]JSONの守り方

    JSON評価時の危険性 受け取ったJSON文字列を、JavaScriptのオブジェクトとして扱うためにevalを使うと説明しましたが、万が一JSONデータ内に、攻撃者の仕組んだスクリプト相当の文字列が含まれていた場合、evalを使うとJavaScriptとしてそのまま実行してしまうため、大変危険です。 例えば、以下のようなJSONが生成されたとします。太字部分が攻撃者の用意したデータです。 これをそのままevalで評価すると、alert(document.cookie)も動作してしまいます。 対策としてはJSONによるXSS同様、文字列内の半角英数字以外をすべて\uXXXXの形式でエスケープすることなのですが、後述するXMLHttpRequest Level 2などを用い、クロスドメインで他者の用意したJSONを読み込んだ場合には、正しくエスケープされていることが保証されません。そのため、

    [さらに気になる]JSONの守り方
    teppeis
    teppeis 2011/01/25
    XMLHttpRequest Level 2, XDomainRequest, Access-Control-Allow-Origin
  • 1