タグ

Cookieに関するasa_ca3のブックマーク (18)

  • 令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io

    Intro CSRF という古の攻撃がある。この攻撃を「古(いにしえ)」のものにすることができたプラットフォームの進化の背景を、「Cookie が SameSite Lax by Default になったからだ」という解説を見ることがある。 確かに、現実的にそれによって攻撃の成立は難しくなり、救われているサービスもある。しかし、それはプラットフォームが用意した対策の質から言うと、解釈が少しずれていると言えるだろう。 今回は、「CSRF がどうして成立していたのか」を振り返ることで、当にプラットフォームに足りていなかったものと、それを補っていった経緯、当にすべき対策は何であるかを解説していく。 結果として見えてくるのは、今サービスを実装する上での「ベース」(not ベスト)となるプラクティスだと筆者は考えている。 CSRF 成立の条件 例えば、攻撃者が用意した attack.examp

    令和時代の API 実装のベースプラクティスと CSRF 対策 | blog.jxck.io
  • Cross-Site Request Forgery Prevention - OWASP Cheat Sheet Series

    Introduction Index Alphabetical Index ASVS Index MASVS Index Proactive Controls Index Top 10 Cheatsheets Cross-Site Request Forgery Prevention Cheat Sheet¶ Introduction¶ A Cross-Site Request Forgery (CSRF) attack occurs when a malicious web site, email, blog, instant message, or program tricks an authenticated user's web browser into performing an unwanted action on a trusted site. If a target use

  • SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜 - Qiita

    SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜JavaScriptRailsJWT認証React SPAのログイン周りについて、「これがベストプラクティスだ!」という情報があまり見当たらないので、様々な可能性を模索してみました。 いろいろな状況が想定され、今回記載する内容に考慮の漏れや不備などがありましたら是非コメントでご指摘いただきたいです!特に「おすすめ度:○」と記載しているものに対しての批判をどしどしお待ちしております! この記事でおすすめしているものであっても、ご自身の責任で十分な検討・検証の上で選択されてください。 前提 想定しているAPIは、 ログイン外のAPIにはPOST/PUT/DELETEのものがなく、GETのみ GETのAPIにはDBを更新するなどの操作がない とし、そのためログイン外では

    SPAのログイン認証のベストプラクティスがわからなかったのでわりと網羅的に研究してみた〜JWT or Session どっち?〜 - Qiita
    asa_ca3
    asa_ca3 2020/04/27
    session 出てきた。。
  • 牧歌的 Cookie の終焉 | blog.jxck.io

    Intro Cookie は、ブラウザに一度保存すれば、次からその値を自動的に送ってくるという、非常に都合の良い仕様から始まった。 State Less が基だった Web にセッションの概念をもたらし、今ではこれが無ければ実現できないユースケースの方が多い。 冷静に考えればふざけてるとして思えないヘッダ名からもわかるように、当初はこのヘッダがこんなに重宝され、 Web のあり方を変えるかもしれないくらい重要な議論を巻き起こすことになるとは、最初の実装者も思ってなかっただろう。 そんな Cookie が今どう使われ、 3rd Party Cookie (3rdPC) の何が問題になっているのかを踏まえ、これからどうなっていくのかについて考える。 Cookie のユースケース Web にある API の中でも Cookie はいくつかの点で特異な挙動をする 一度保存すれば、次から自動で送る

    牧歌的 Cookie の終焉 | blog.jxck.io
    asa_ca3
    asa_ca3 2020/02/26
    “コンテキストの方が重要でターゲティングが無くても広告の価値は下がらないと報告も有る。” なるほど。あんまり関わってないけど考えさせられた。
  • Cookieとかセッションとかセキュリティとか - Qiita

    概要 社内勉強会でcookieの仕様(主にRFC6265)やセキュリティ(主にCSRFやセッション乗っ取り)について話した内容をまとめます。 但し書き 手っ取り早い説明用に内容を端折ってまとめているため、厳密には正しくない記述が含まれます。 ちゃんと知りたければRFC読みましょう。(幸い日語訳があってかなり読みやすいのでオススメ) 以下、RFCに沿って「サーバー」と「UA」という単語を使いますが、UAはブラウザと言い換えていいと思います。 curlやプログラマブルなクライアントは、この枠外の挙動をさせることも容易なので対象外です。 またブラウザ毎の実装については、過去の他の方の記事を参照していて自分で試せてはいないため、現在では実装が異なっている可能性があります。 cookieの仕様 cookie(webでの状態管理メカニズム)についての仕様。 RFC6265 今の最新の仕様っぽい。モダ

    Cookieとかセッションとかセキュリティとか - Qiita
  • HTML5のLocal Storageを使ってはいけない(翻訳)|TechRacho by BPS株式会社

    概要 原著者の許諾を得て翻訳・公開いたします。 英語記事: Randall Degges - Please Stop Using Local Storage 原文公開日: 2018/01/26 著者: Randall Degges 日語タイトルは内容に即したものにしました。 画像は元記事からの引用です。 初版公開: 2019/10/19 追記更新: 2024/04/05 -- リンク情報を記事末尾に移動しました 気で申し上げます。local storageを使わないでください。 local storageにセッション情報を保存する開発者がこれほど多い理由について、私にはさっぱり見当がつきません。しかしどんな理由であれ、その手法は地上から消えてなくなってもらう必要がありますが、明らかに手に負えなくなりつつあります。 私は毎日のように、重要なユーザー情報をlocal storageに保存す

    HTML5のLocal Storageを使ってはいけない(翻訳)|TechRacho by BPS株式会社
  • どうして JWT をセッションに使っちゃうわけ? - co3k.org

    備考 2018/09/21 22:15 追記 2018/09/20 12:10 に公開した「どうして JWT をセッションに使っちゃうわけ?」というタイトルが不適切だとご指摘をいただいています。 その意見はもっともだと思いますので、現在、適切となるようにタイトルを調整しています。 ご迷惑およびお騒がせをして大変申し訳ございません。 文の表現についても改善の余地は大いにありそうですが、こちらは (すでにご意見を頂戴している関係で、) 主張が変わってしまわないように配慮しつつ慎重に調整させていただくかもしれません。 はあああ〜〜〜〜頼むからこちらも忙しいのでこんなエントリを書かせないでほしい (挨拶)。もしくは僕を暇にしてこういうエントリを書かせるためのプログラマーを募集しています (挨拶)。 JWT (JSON Web Token; RFC 7519) を充分なリスクの見積もりをせずセッシ

  • PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO

    こんにちは。望月です。 AWS上でシステムを構築する上で、「AWSのお作法に従う」のは印象以上に重要です。お作法に関しては色々とあるのですが、 *1その中でも一番大きいのは「サーバーは故障するものという前提で設計する」ことにあると思います。例えば、以下の様な点です。 WebサーバやAPサーバなどはロードバランサを介して冗長化し、単一障害点ではなくす 保管する必要のあるデータは全てS3に保管するか、EBSスナップショットを取得する等のバックアップを実施する DBはRDSをできるだけ利用することで、Multi-AZによる障害時自動フェイルオーバーによるサービス継続を実施する 上記1番目の「Web/APサーバの冗長化」ですが、オンプレミスからの移行の際にはこれへの対応が結構大変だったりします。例えば、アプリケーションからローカルのファイルを読み書きするような処理が入っている場合、そのファイルを両

    PHPアプリケーションのセッション管理にAWS ElastiCacheを使う | DevelopersIO
  • 【ソーシャルインタラクション】Social Interactions - Web Tracking (analytics.js) - Google Analytics — Google Developers

    このガイドでは、analytics.js を使用してソーシャル インタラクションを測定する方法について解説します。 概要 ソーシャル インタラクション アナリティクスでは、ウェブページに埋め込まれているソーシャル ボタンをユーザーがクリックした回数を測定することができます。たとえば Facebook の「いいね!」や Twitter の「ツイート」のクリック数を測定できます。 イベント測定でも一般的なユーザーの接点は測定できますが、ソーシャル解析を利用すると、ソーシャル インタラクションを一貫性のあるフレームワークで記録できます。これにより、一連のレポートを参照して、複数のネットワークをまたいでソーシャル インタラクションに関するデータを比較できます。 Google アナリティクスのソーシャル インタラクションについて不明点がある場合、またはソーシャル ネットワーク、操作、ターゲットに使用

    【ソーシャルインタラクション】Social Interactions - Web Tracking (analytics.js) - Google Analytics — Google Developers
  • GoogleAnalyticsのCookieは、なぜサードパーティCookieではなく、ファーストパーティCookieなのか?

    トップ コラムGoogleAnalyticsのCookieは、なぜサードパーティCookieではなく、ファーストパーティCookieなのか? ブログをご覧頂いている皆さん、こんにちはニコライです。Nexalではテクニカルエンジニアとして勤めています。技術的な観点から、皆さんの業務にお役立て頂けそうな情報を更新して参ります。今後とも宜しくお願いします。 初投稿のお題は、GoogleAnalyticsのCookieについてです。 公式ヘルプによると、GoogleAnalyticsではアクセス解析の仕組みとしてCookieを利用しており、且つそれはファーストパーティCookieであると謳われています。ただ、これには合点がいかない方も多くおられるようです。「Googleのサーバと通信しているのだから、サードパティではないのか?なぜファーストパーティ?」という疑念があるからです。以下が公式ヘルプの一

    GoogleAnalyticsのCookieは、なぜサードパーティCookieではなく、ファーストパーティCookieなのか?
  • モバイルアプリ・Web開発にオススメの Chrome 拡張機能 10選 - Tech Blog

    カップル専用アプリPairyでおなじみ株式会社TIMERSのCTOの椎名アマドです。 先日うちの社員と話してて自分が普段使ってるChrome拡張機能をしれっと紹介したら、 「生産性が上がる」とだいぶ好評価でした。 なので今回は、モバイルアプリやスマートフォンWeb開発などに役立ってる、Chrome拡張機能を紹介します。 使う使わないでかなり生産性が変わってくるものもあるので、是非活用してみてください。 API開発に最適 JSONView オススメ度:★★★★★ JSONで来たレスポンスを、綺麗に最適化して表示してくれます。 わかりやすく色分けハイライトされてたり、配列を畳むことが出来たりと、 APIを絡めた開発では必需品です。 Postman - REST Client オススメ度:★★★★★ REST リクエストをその場で作成して送信できるクライアントツールです。 GET/POST/D

    モバイルアプリ・Web開発にオススメの Chrome 拡張機能 10選 - Tech Blog
  • 「Do Not Track」「サードパーティCookie遮断」と僕らの未来

    最近、WEBブラウザまわりのニュースの中で、結構、僕達に影響するのではないかという話題があったので、ちょっと僕なりにまとめてみたいと思います。 どういったニュースだったかというと、Internet Explorer10(以下、IE10)では、デフォルトで「Do Not Track」が有効になり、Mozilla Firefox(以下、Firefox)の新しいバージョン22では、デフォルトでサードパーティCookieを遮断にするというものだ。 Firefoxの新ポリシー サードパーティcookieをデフォルトで遮断へ(ITmedia) http://www.itmedia.co.jp/news/articles/1302/26/news034.html IE 10のDo Not Track機能、デフォルト有効は「よけいなお世話?」 (computerworld) http://www.comp

    「Do Not Track」「サードパーティCookie遮断」と僕らの未来
  • Cookieの仕組みとは? データ解析で個人特定されることはあるのか? [アクセス解析Q&A] | 衣袋宏美のデータハックス

    質問:クッキーでユーザーを特定する方法があると聞きました。どれぐらいまで正確にユーザーを特定できるのですか? 答えクッキーだけで「どこのだれ」という個人を完全に特定することはできません。クッキーができるのは、「以前にアクセスしたときと同じブラウザである」という「ユニークなブラウザ」の特定で、その目的にはクッキーは比較的優れた方法です。 解説まずクッキーについて説明します。 クッキー(Cookie)は、正確には「人」ではなく「同一ブラウザ」を追跡するための仕組みです。たとえばAmazon.co.jpに自分のIDでログインしてブラウザを終了させた数日後に、またブラウザを立ち上げてアマゾンのページにアクセスすると、自分のIDで自動的にログインしている状態になっています(図1)。この動作にはクッキーが使われています。 このようにクッキーは、Webサイト運営者やインターネット広告配信業者などがユーザ

    Cookieの仕組みとは? データ解析で個人特定されることはあるのか? [アクセス解析Q&A] | 衣袋宏美のデータハックス
  • [さらに気になる]JSONの守り方

    XMLHttpRequest Level 2、XDomainRequest利用の注意点は XMLHttpRequest Level 2、XDomainRequestの両方に共通する注意点として、以下のようなものがあります。 ●Cookie は送信されない 上記の例で、事前にexample.comからCookieが発行されていたとしても、XMLHttpRequest Level 2、XDomainRequestを使ってクロスドメインでリクエストを発行する場合には、Cookieは送信されません。

    [さらに気になる]JSONの守り方
  • Prefix routing毎にセッションCookieのセッション名を切り替える。CakePHP1.3 - kanonji’s diary

    CakePHP 1.3.0から少し変わった Prefix Routing で、管理画面や携帯サイトなど、ディレクトリで分けた別サイトっぽく出来ます。 ただ、同じController/Modelクラスを使うし、config系も共有しています。 実態としては同じサイトの一部という感じです。 そこで気になるのは、セッションCookieがどうなるかと言う事です。 何かの間違いで*1PCサイトにログインしたセッションで、管理画面にログイン済み扱いになるみたいな事は避けたい。 なので、セッション名を違うものにして、混ざらないようにしたいです。 Prefix routing設定例 <?php Configure::write('Routing.prefixes', array('admin', 'mobile', 'dev')); APP/config/core.php http://www.examp

    Prefix routing毎にセッションCookieのセッション名を切り替える。CakePHP1.3 - kanonji’s diary
  • 第1回 まずは「クッキー」を理解すべし

    Webアプリケーションのぜい弱性がなかなかなくならない。メディアなどでも盛んに取り上げられているにもかかわらず,である。特に,セッション管理がからむアプリケーションのぜい弱性には,気付かないことが多い。具体的には「クロスサイト・リクエスト・フォージェリ」(CSRF),「セッション・フィクセーション」などである。これらはクロスサイト・スクリプティング,SQLインジェクションといった比較的メジャーなぜい弱性に比べて認知度が低く,対策も進んでいない。 原因の一つは,アプリケーションの開発者が原因を正しく理解していないこと。CSRFやセッション・フィクセーションについて言えば,セッション管理に使うクッキー(cookie)の動作を理解していないと対策が難しい。ところが最近の開発環境では,セッション管理の仕組みが隠ぺいされているため,必ずしもこの知識は要求されない。こうした開発者は容易にはぜい弱性に気

    第1回 まずは「クッキー」を理解すべし
  • 最初のアクセスで;jsessionidを表示させない方法 - ひがやすを技術ブログ

    URLの一部にセッションIDを埋め込むのは、アプリケーションサーバが、クライアントがクッキーをサポートしているかわからない場合です。 最初のアクセスで、アプリケーションサーバは、クッキーを設定してクライアントに返します。二度目以降のアクセスで、クッキーが返ってきた場合は、クッキーを通じてセッション管理ができるので、;jsessionidはURLに埋め込みません。 携帯の端末のようにクッキーが帰ってこない場合、二度目以降も;jsessionidをURLに埋め込みます。 クッキーがサポートされているブラウザで、最初のアクセスでURLに;jsessionidを表示させたくない場合、最初にindex.jspにアクセスしてもらうようにし、index.jspから物の最初のページにリダイレクトします。 <html> <head> <meta http-equiv="Content-Type" cont

    最初のアクセスで;jsessionidを表示させない方法 - ひがやすを技術ブログ
  • [ThinkIT] 第8回:Cookieとセッション情報 (1/3)

    サーバ/クライアント間の通信を担当するHTTPは、ステートレス(状態を管理しない)なプロトコルです。このように表現してしまうと難しく聞こえるかもしれませんが、要するに「複数のページ間で情報を保持することができない」ということです。 例えば、ページXとページZという2つのページがあったとします。ページXを処理したあとにページZを呼び出したとしても、ページZはページXで入力された内容や処理結果、さらにページXのあとに呼び出されたということも知ることはできません。 HTTPにおいては、リクエスト/レスポンスの一往復が完結された処理と見なされるので、次に発生したリクエストはまったく別物と認識されるからです。 しかし、JSP&サーブレットアプリケーションを構築する場合、複数のページ間で情報の保持が必要になるケースは少なくありません。例えば、認証を必要とするアプリケーションを想定してみてください。トッ

  • 1