You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
![CSRF対策用トークンの値にセッションIDそのものを使ってもいい時代なんて、そもそも無かった](https://cdn-ak-scissors.b.st-hatena.com/image/square/1ef26f6cb4349557952890dbe3e567f7f98dc151/height=288;version=1;width=512/https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fgist-og-image-54fd7dc0713e.png)
概要 CSRF(Cross Site Request Forgeries)とは、Webブラウザを不正に操作する攻撃手法の一つで、偽装したURLを開かせることにより利用者に意図せず特定のサイト上で何らかの操作を行わせるもの。 攻撃者はあるサイトへ特定のリクエストを発生させるURL(Webアドレス)を用意し、何らかの方法でこれを偽装・隠蔽してWeb閲覧者に開かせる。閲覧者は気付かずに、あるいは何のURLであるかを誤認して開き、攻撃者の意図したリクエストを発生させてしまう。 URLを開かせる手法はいくつか知られており、Webページやメール本文にリンク先について虚偽の内容を記載したリンクを設置する、HTMLのimgタグのようにページを開くと自動的にURLが読み込まれるタグを悪用する、ページ上にURLを読み込ませるようなスクリプト(JavaScript)や自動転送(HTTPリダイレクト)などを仕掛け
XMLHttpRequestを使ったCSRF対策 - 葉っぱ日記を書いていて思ったけど、いまいちXHRを使ったCSRF(というかクロスオリジン通信)について理解されていないような感じだったので、ちょっと書いておきます。とりあえず日本語のリソース的には、HTTP access control | MDN が詳しくて、それを読めばだいたい事足りるんで、あとはCSRFに関連しそうな話題だけ。 Q. そもそも「クロスオリジン」って何? スキーム、ホスト、ポートの3つの組み合わせが一致している場合を同一オリジン(same-origin)、いずれか一つでもことなる場合をクロスオリジン(cross-origin)と言います。つまり、XHRでドメインを超えて通信している場合は典型的なクロスオリジン通信となります。 Q. え? XMLHttpReuest って他のドメインにリクエストを発行できないんじゃ い
合わせて読んでください:Flashと特定ブラウザの組み合わせでcross originでカスタムヘッダ付与が出来てしまう問題が未だに直っていない話 (2014-02/07) XMLHttpRequestを使うことで、Cookieやリファラ、hidden内のトークンを使用せずにシンプルにCSRF対策が行える。POSTするJavaScriptは以下の通り。(2013/03/04:コード一部修正) function post(){ var s = "mail=" + encodeURIComponent( document.getElementById("mail").value ) + "&msg=" + encodeURIComponent( document.getElementById("msg").value ); var xhr = new XMLHttpRequest(); xhr
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く