サーバ/クライアント間の通信を担当するHTTPは、ステートレス(状態を管理しない)なプロトコルです。このように表現してしまうと難しく聞こえるかもしれませんが、要するに「複数のページ間で情報を保持することができない」ということです。 例えば、ページXとページZという2つのページがあったとします。ページXを処理したあとにページZを呼び出したとしても、ページZはページXで入力された内容や処理結果、さらにページXのあとに呼び出されたということも知ることはできません。 HTTPにおいては、リクエスト/レスポンスの一往復が完結された処理と見なされるので、次に発生したリクエストはまったく別物と認識されるからです。 しかし、JSP&サーブレットアプリケーションを構築する場合、複数のページ間で情報の保持が必要になるケースは少なくありません。例えば、認証を必要とするアプリケーションを想定してみてください。トッ
CSRF 脆弱性対策には攻撃者の知り得ない秘密情報をリクエストに対して要求すればよく、そのような用途としてはセッション ID がお手軽でいいよねという時代があったかと思います。 いや、もちろん、 CSRF 対策の文脈だけで言えば今も昔も間違いというわけではありません。セッション ID が秘密情報であるのは Web アプリケーションにおいて当然の前提ですので、 CSRF 対策としてリクエストに求めるべきパラメータとしての条件はたしかに満たしています。 たとえば 『安全なウェブサイトの作り方』 改訂第6版では以下のように解説されています。 6-(i)-a. (中略) その「hidden パラメータ」に秘密情報が挿入されるよう、前のページを自動生成して、実行ページではその値が正しい場合のみ処理を実行する。 (中略) この秘密情報は、セッション管理に使用しているセッション ID を用いる方法の他、
ブラウザからAmazon S3に直接ファイルをアップロードしたい 先日、Amazon S3にファイルをアップロードするWebアプリを作ろうとして色々調べていたところ、S3にCORSという仕様のクロスドメインアクセスの設定をすることによって、ブラウザから直接S3にアップロードをする方法にたどり着きました。ただ、この方法を使うにあたってはCORSというクロスドメインアクセスの仕様をきちんと理解しておいた方が良さそうでしたので、まずはCORSについて自分なりに整理してみました。 なお、弊社の横田がCORSとS3についての記事を以前書いていますので、S3のCORSサポートに関する概要を知りたい方はそちらをご覧下さい。 CORS(Cross-Origin Resource Sharing)によるクロスドメイン通信の傾向と対策 CORS ブラウザでAjax通信を行う際には、同一生成元ポリシー(Same
Single Page Apps are ruling the world and AngularJS is leading the charge. But many of the lessons we learned in the Web 2.0 era no longer apply, and few are as drastically different as authentication. Depending on where you build and release your AngularJS app, there are different ways to handle authentication and I hope this post clears some of that up. CORS CORS is an oft-misunderstood feature
JavaScriptは強力な表現をすることの出来る動的型付け言語ではありますが、 コンパイラからほとんど手助けしてもらえないという事にもなります。 このため、Angularの開発陣はJavaScriptで書かれたコードには強固なテストセットが必要であると強く感じています。 Angularアプリケーションのテストが簡単に行えるように、Angularには多くの機能が組み込まれています。 そのため、テストをしないことを言い訳にすることは出来ません。 関係を混合"しない"ことが全て 関係を混合"しない"ことが全て ユニットテストと名付けられたそれは、コードの個別の単位でテストを行います。 ユニットテストは、"このロジックは正しかったのか?"、または"このソート関数は正しくリストを並び替えているか?"、 といった疑問に答えようとするものです。 このような疑問に答えるために、テスト下でコード単位で分離
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く