What is JSON Patch? JSON Patch is a format for describing changes to a JSON document. It can be used to avoid sending a whole document when only a part has changed. When used in combination with the HTTP PATCH method, it allows partial updates for HTTP APIs in a standards compliant way. The patch documents are themselves JSON documents. JSON Patch is specified in RFC 6902 from the IETF. Simple exa
前書き JavaScript Object Notation (JSON) Pointer JavaScript Object Notation (JSON) Patch についてキャッチアップしました。 今は API デザインしているので、PATCHに関する操作であれば、 上記のJSON PATCHともう一つ、JSON Merge Patchがあります。 今回はJSON PATCHについてフォーカスしてキャッチアップしました。 由来 JSON RFCは JSON を定義しました。 また、PATCH Method for HTTPは HTTP の PATCH メソッドを定義しました。 もともと PATCH 以外に、PUT というメソッドがあり、 PUT の場合にリソースに対して全て更新するというふうに使われています。 PATCH は PUT と違って、リソースに対して一部を更新することが可
気になったので調べてみました。 tsconfig.jsonと普通のJSONの大きな違い tsconfig.jsonには、コメントが書けます。 tsc --init した時に生成されるtsconfig.jsonに、大量にコメントが付けられているので、すぐに気付くことと思います。 例) { "compilerOptions": { "target": "es5" /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */, "module": "commonjs" /* Specify module code generation: 'none', 'commonjs', 'amd
Internet Engineering Task Force (IETF) N. Williams Request for Comments: 7464 Cryptonector Category: Standards Track February 2015 ISSN: 2070-1721 JavaScript Object Notation (JSON) Text Sequences Abstract This document describes the JavaScript Object Notation (JSON) text sequence format and associated media type "application/json-seq". A JSON text sequence consists of any number of JSON texts, all
AngularJS への改宗が完了した「mitsuruog」です。 AngularJS に限らず Single page application(以下、SPA)を構築した場合、認証(Authenticate)とその後の WebAPI での証明情報(Credential)の受け渡し方法について最近悩んでいます。 調べていたら Json Web Token(以下、JWT)を利用した方法がCookies vs Tokens. Getting auth right with Angular.JSで紹介されていて、試してみると結構使えそうでしたので紹介してみます。 目次 1.WebAPI での証明情報の受け渡しの重要性 2.Token を利用した証明情報の受け渡し 3.実現するためのコア技術、JWT(Json Web Token)とは 4.Token を利用した場合の課題など 秘密鍵の管理 リフレッ
[Android] JSONの整形ってこんなに簡単にできるの!? 〜ログが劇的に見やすくなる魔法の引数〜 JSON使ってますか? モダンなアプリ開発とJSONは切っても切れない関係です。 今、この記事を見ているあなたもきっとJSONに触れたことがあるでしょう。 今回は、Android開発時に覚えておくと便利なJSONの小技を紹介します。 こんな時に使うと便利です ネットワークとの通信を行うと、レスポンスがJSONで返ってくるってことよくありませんか? そんなときは、大抵ログにレスポンスの内容を表示するものです。 この「ログ出力」するときに今回紹介する小技を使うと、ログが劇的に見やすくなってどんな値が入っているのかが一目でわかるようになります! 結局どうすればいいの? 実際なんてことないものなんで、さらっとご紹介します。 JSONを文字列に変換するときにJSONObject#toString
はせがわようすけ氏のブログエントリ「機密情報を含むJSONには X-Content-Type-Options: nosniff をつけるべき」にて、巧妙な罠を仕掛けることにより、別ドメインのJSONデータをvbscriptとして読み込み、エラーハンドラ経由で機密情報を盗み出すという手法が紹介されました。これは、IEの脆弱性CVE-2013-1297を悪用したもので、MS13-037にて解消されていますが、MS13-037はIE6~IE8が対象であり、IE9以降では解消されていません。 また、MS13-037を適用いていないIE6~IE8の利用者もしばらく残ると考えられることから、この問題を詳しく説明致します。サイト側の対策の参考にして下さい。 問題の概要 JSON形式のデータは、通常はXMLHttpRequestオブジェクトにより読み出しますが、攻撃者が罠サイトを作成して、vbscript
WebアプリケーションにおいてJSONを用いてブラウザ - サーバ間でデータのやり取りを行うことはもはや普通のことですが、このときJSON内に第三者に漏れては困る機密情報が含まれる場合は、必ず X-Content-Type-Options: nosniff レスポンスヘッダをつけるようにしましょう(むしろ機密情報かどうかに関わらず、全てのコンテンツにつけるほうがよい。関連:X-Content-Type-Options: nosniff つかわないやつは死ねばいいのに! - 葉っぱ日記)。 例えば、機密情報を含む以下のようなJSON配列を返すリソース(http://example.jp/target.json)があったとします。 [ "secret", "data", "is", "here" ] 攻撃者は罠ページを作成し、以下のようにJSON配列をvbscriptとして読み込みます。もちろ
jq is a lightweight and flexible command-line JSON processor. jq is like sed for JSON data - you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text. jq is written in portable C, and it has zero runtime dependencies. You can download a single binary, scp it to a far away machine of the same type, and expect
なぜGoogleはJSONの先頭に while(1); をつけるのか #JavaScript #HTML #Ajax #StackOverflow - Qiita これはクロスサイト・リクエスト・フォージェリ対策。違うよ!全然違うよ! 攻撃者の作成した罠ページにてJSONを<script src="target.json">みたいに読み込んで、ゴニョゴニョやることでJSON内の機密情報に攻撃者がアクセス可能というのは合ってるけど、それを「クロスサイト・リクエスト・フォージェリ」とは言わない。無理に何か名前をつけて呼ぶとすれば、「JSON Hijacking」という俗称や、あるいは単純にクロスサイトでの情報漏えい、程度ですかね。 ちなみに、ArrayコンストラクタやObjectでのアクセサを定義してJSONをJSとして読み込んで内部にアクセスする手法は、現在のところ公にされているところでは古
awesome_print をご存知だろうか JSONとかを標準出力にcoolに表示してくれるライブラリだ。 michaeldv/awesome_print · GitHub irbとかpryとかrailsとかで使えるようになっている。 これはこれで便利なんだけど そもそもJSONの中身を見たいときって外部サービスとの連携だったりするんですよね。で、そういうのって一旦ファイルに落としたのを確認したかったりするのですね*1。 そういうのを見る時、awesome_printで見ると配列として扱われているかとか、Rubyの世界でどのようなオブジェクトになってるかも確認できて良いんだけども、いかんせんirbで開いてファイルをopenして……ってのも面倒なので、コマンドで実行できるようにしました。実際は単なるラッパーですね。 ap_command インストール % gem install ap_co
たとえばこういう JSON があったとして、 {"profile_use_background_image":true,"protected":false,"profile_banner_url":"https:\/\/si0.twimg.com\/brand_banners\/twitter\/1323368512\/live","default_profile":false,"lang":"en","profile_text_color":"333333","followers_count":7610082,"profile_image_url":"http:\/\/a0.twimg.com\/profile_images\/1124040897\/at-twitter_normal.png","name":"Twitter","show_all_inline_media":true,
[1]http://d.hatena.ne.jp/ockeghem/20110907/p1[2]http://www.atmarkit.co.jp/fcoding/articles/webapp/05/webapp05a.html[3] http://msdn.microsoft.com/ja-jp/asp.net/ff713315[4] http://labs.cybozu.co.jp/blog/kazuho/archives/2007/01/cross-site_including.phpあたりをよんで、JSON とセキュリティについてかんがえてみた。 ここで、有効とされている対策のうち while(1); を先頭に付与するPOST ですべて処理するといったあたりは、RESTful でないし、BK 感がひどいというか本質的ではないのでできるだけやりたくない。 また、Amon2 では互換
node.js の package.json で、次のような書き方をよく見かけます。 { "name": "example-app" , "version": "0.0.1" , "private": true } JSON でカンマを、名前:値のペアの前に配置する理由がわからず tweet したところ、@sugyan さんと @Jxck_ さんにいろいろ教えていただきました。その共有です。 追記 A better coding convention for lists and object literals in JavaScript — Gist
CSRF(Cross Site Request Forgeries)は数年前にその危険性が広く認知された攻撃手法です。Webページを見ただけで、普段自分が利用しているログインが必要なサイトに意図しないリクエストが送信されたりする問題です。 CSRFの動作原理 CSRFは攻撃用の情報を含んだWebページやEメールを利用して攻撃します。被害者が攻撃用のページを表示したり、URLをクリックすると、攻撃対象のWebサイトに利用者が意図していないリクエストを送信します。 図1 CSRF攻撃 CSRFによる不正なリクエストは被害者からリクエストなので、ログインが必要なサイトであっても既にユーザがログイン済みの場合、正規のユーザからのリクエストとして攻撃対象のWebサーバはリクエストを受け付けてしまいます。 ログインが必要ない公開サイトであっても、問い合わせフォームから大量の不正な情報が登録される、など
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く