タグ

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

  • 関連タグはありません

タグの絞り込みを解除

JavaScriptとAjaxとjsonに関するnantanのブックマーク (4)

  • JSONデータをクロスドメインアタックから守るためにwhile(1)を使うことをやめましょう - hoshikuzu | star_dust の書斎

    これはなに 既にご存知の方がいらっしゃるかどうかも知りませんが今さっき関連文献に行き当たって驚愕したので念のためにメモを書いておきます。私はメーリングリストなどに加入していませんので論議が済んでいるかどうかも知らないのです。もしもウェブ上に解説記事があるようでしたら逆に私に是非とも教えてください。 JSONデータの先頭に JSONデータの先頭にwhile(1)を置いておくことで無限ループを発生させておいて、受動的攻撃のページの悪意あるscriptの実行を失敗させるというアイデアには欠点があるということを、先程とある文献から知りました。これはwhile(true)についても同様です。JavaScriptは柔軟で強力な言語ですから、ブラウザがJavaScriptエンジンをまじめに実装しているのであれば、アタックのチャンスを与えていることになります。しかしこれはブラウザの脆弱性とは捉えられません

    JSONデータをクロスドメインアタックから守るためにwhile(1)を使うことをやめましょう - hoshikuzu | star_dust の書斎
  • Access-Control-Allow-Origin と Access-Control-Allow-Headers について - make world

    Slim3 で JSON を受け取るために、久しぶりに Ajax のデータを受け取る処理を記述していたら、(Chrome 上で)下記のエラーが発生した。 XMLHttpRequest cannot load http://localhost:8888/api/json/... Origin http://localhost is not allowed by Access-Control-Allow-Origin. Access-Control-Allow-Origin 調べてみたところ、サーバーからのレスポンスに、 Access-Control-Allow-Origin: * の HTTP ヘッダを追加する必要があるようだ。仮に Slim3 で記述をするとしたら、Controller にこう書く。 public class LatestController extends Control

    Access-Control-Allow-Origin と Access-Control-Allow-Headers について - make world
  • JSONとJSONPの違い - あと味

    解説は他にもたくさんありますが、私自身も使いはじめの頃、違いがよくわからなかったので。 JSONとは? 汎用的なデータ記述方法です。こんな感じで書きます。 { 'blog' : 'あと味', 'author' : 'jdg' } まさにJavaScriptのオブジェクトですね。*1 JSONPとは? JSONを以下のように変えたもの。 callback({ 'blog' : 'あと味', 'author' : 'jdg' }); 関数呼び出しっぽいですね。まぁ、関数呼び出しなんですけど。 どゆこと?となるポイント 見た目が関数っぽくなる意外に変更点はないように見えますが、クロスドメインでJSONを読み込む時は、なぜかJSONではなく、JSONPが使われます。(WebAPI等) また、アクセスしたらJSON形式のデータを返す単純なCGIを自分で作りたいと思った場合でも、JSONを返しても、J

    JSONとJSONPの違い - あと味
  • Life is beautiful: JSONでアニメーション用のメタ言語を作ってみた

    ianime.jsもようやく安定して動き出したので、スライドショーを作ってみようと思ったのだが、通常のjavascriptのイベント処理を使って作ろうとすると、(1)最初のアニメーションの動作を指定し、(2)そのアニメーションの終了イベントを受けて次の指示を出し、...と、ものすごいスパゲッティ・コードを書かねばならなくなる。 それがどうしても耐えられなかったので、色々と試行錯誤をしているうちにたどり着いたのが、JSONを使ったアニメーション専用のメタ言語である。下の例の太字の部分がそれ。 function start() { anime.addSequence([ { duration:3000 }, { id:'pic4', effect:'fadeout', duration:3000 }, { duration:3000 }, { id:'pic3', effect:'fadeou

  • 1