並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 69件

新着順 人気順

セッション管理の検索結果1 - 40 件 / 69件

  • Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 - r-weblife

    おはようございます、ritou です。 qiita.com これの初日です。 なんの話か 皆さんは今まで、こんな記事を目にしたことがありませんか? Cookie vs JWT 認証に JWT を利用するのってどうなの? JWT をセッション管理に使うべきではない! リンク貼るのは省略しますが、年に何度か見かける記事です。 個人的にこの話題の原点は最近 IDaaS(Identity as a Service) として注目を集めている Auth0 が Cookie vs Token とか言う比較記事を書いたことだと思っていますが、今探したところ記事は削除されたのか最近の記事にリダイレクトされてるようなのでもうよくわからん。 なのでそれはおいといて、この話題を扱う記事は クライアントでのセッション管理 : HTTP Cookie vs WebStorage(LocalStorage / Sess

      Webアプリケーションのセッション管理にJWT導入を検討する際の考え方 - r-weblife
    • マイクロサービス時代のセッション管理 - Retty Tech Blog

      この記事はRetty Advent Calendar 2019 21日目の記事です。エンジニアの 神@pikatenor がお送りします。11日目の記事に書かれた「弊社エンジニアの神(注・人名であり実名です)」とは私のことです。 qiita.com さて世はまさにマイクロサービス大航海時代、大規模化した組織・肥大化したコードベースのメンテナンスを継続的に行っていくべく、アプリケーションを機能別に分割する同手法が注目を集めていることは皆さんもご存知でしょう。 マイクロサービスアーキテクチャ特有の設計課題はいくつかありますが、今回は認証情報のような、サービス間でグローバルに共有されるセッション情報の管理のパターンについて調べたことをまとめてみたいと思います。 背景 HTTP は本質的にステートレスなプロトコルですが、実際の Web サービス上では複数リクエストをまたがって状態を保持するために、

        マイクロサービス時代のセッション管理 - Retty Tech Blog
      • SPA+SSR+APIで構成したWebアプリケーションのセッション管理 - Pepabo Tech Portal

        カラーミーショップ サービス基盤チームのkymmtです。この記事では、サーバサイドレンダリングするシングルページアプリケーションとAPIサーバからなるWebアプリケーションのセッション管理方法について紹介します。 アプリケーションの構成 構成の概要 今回は例としてEC事業部で提供するカラーミーリピートをとりあげます。構成としては、Railsで作られたAPIサーバ1と、Vue.jsで作られたシングルページアプリケーション(SPA)からなります。また、SPAはExpressが動くフロントエンドサーバでサーバサイドレンダリング(SSR)します。APIサーバはSPAかフロントエンドサーバだけが呼び出します。各ロールはサブドメインが異なります。 APIサーバでセッションIDを持つCookieを発行し、Redisを用いてセッション管理します。また、APIサーバへのセッションが有効なリクエストはフロント

          SPA+SSR+APIで構成したWebアプリケーションのセッション管理 - Pepabo Tech Portal
        • マイクロサービス時代のセッション管理 - Retty Tech Blog

          この記事はRetty Advent Calendar 2019 21日目の記事です。エンジニアの 神@pikatenor がお送りします。11日目の記事に書かれた「弊社エンジニアの神(注・人名であり実名です)」とは私のことです。 qiita.com さて世はまさにマイクロサービス大航海時代、大規模化した組織・肥大化したコードベースのメンテナンスを継続的に行っていくべく、アプリケーションを機能別に分割する同手法が注目を集めていることは皆さんもご存知でしょう。 マイクロサービスアーキテクチャ特有の設計課題はいくつかありますが、今回は認証情報のような、サービス間でグローバルに共有されるセッション情報の管理のパターンについて調べたことをまとめてみたいと思います。 背景 HTTP は本質的にステートレスなプロトコルですが、実際の Web サービス上では複数リクエストをまたがって状態を保持するために、

            マイクロサービス時代のセッション管理 - Retty Tech Blog
          • Service Worker によるセッション管理  |  Firebase

            フィードバックを送信 Service Worker によるセッション管理 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 Firebase Auth では、Service Worker を使用して Firebase ID トークンを処理し、セッション管理を行うことができます。この方法には、次のような利点があります。 追加の作業を行わずに、サーバーからの HTTP リクエストに ID トークンを渡すことができます。 追加のラウンド トリップやレイテンシを発生させずに、ID トークンを更新できます。 バックエンドとフロントエンドのセッションを同期できます。この方法は、Realtime Database や Firestore などの Firebase サービスや、外部サーバーサイドのリソース(SQL データベースなど)にアクセスする必要のあるアプリケーションで

            • 安全なウェブサイトの作り方 - 1.4 セッション管理の不備 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構

              安全なウェブサイトの作り方 - 1.4 セッション管理の不備 概要 ウェブアプリケーションの中には、セッションID(利用者を識別するための情報)を発行し、セッション管理を行っているものがあります。このセッションIDの発行や管理に不備がある場合、悪意のある人にログイン中の利用者のセッションIDを不正に取得され、その利用者になりすましてアクセスされてしまう可能性があります。この問題を悪用した攻撃手法を、「セッション・ハイジャック」と呼びます。 また、推測や盗用以外に、セッション管理の不備を狙ったもう一つの攻撃手法として、「セッションIDの固定化(Session Fixation)」と呼ばれる攻撃手法があります。悪意ある人があらかじめ用意したセッションIDを、何らかの方法(脚注1)で利用者に送り込み、利用者がこれに気付かずにパスワードを入力するなどしてログインすると起こりうる問題です。悪意のある

                安全なウェブサイトの作り方 - 1.4 セッション管理の不備 | 情報セキュリティ | IPA 独立行政法人 情報処理推進機構
              • Laravelのセッション管理をRedisに変更

                以前に別の記事で Laravelのセッション管理をデータベースに変更する手順 をご紹介しましたが、今回はその派生でインメモリデータベースであるRedisを利用する手順をご紹介致します。 基本的にはLaravelの公式ドキュメントに記載されている通りです。 Laravelに、利用するRedisへの接続情報を定義し、セッション管理の設定をRedisに変更します。 https://readouble.com/laravel/5.5/ja/redis.html なお、今回使用するRedisはAWSのElastiCacheで構築します。 https://aws.amazon.com/jp/elasticache/ 手順 ElastiCacheの構築 ElastiCacheの利用手順 の記事でElastiCacheの構築の流れをご紹介しておりますので、流れに沿って構築します。 Predisのインストー

                • 実際困る!クロスドメイン間のセッション管理を考えよう

                  [JJUG CCC 2022 fall] Fargate上のJVMからCPUを認識するまで 〜正しく認識されないCPUの謎を追え〜

                    実際困る!クロスドメイン間のセッション管理を考えよう
                  • PHP: セッション管理の基礎 - Manual

                    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

                    • 【これで解決】SPAでセッション管理するならCookieにしよう【CakePHP4編】 | りゅうりんブログ

                      XSSとCSRFの違い表 ■CORS(Cross-Origin Resource Sharing) 追加のHTTPヘッダーを使用して、あるオリジンで動作しているウェブアプリケーションに、異なるオリジンにある選択されたリソースへのアクセス権を与えるようブラウザーに指示するための仕組み。 サーバがブラウザに指示するというところがポイント。 ブラウザ側はCORS制約を検知するとエラーの挙動をとる。なのでPostmanのようにhttpリクエストを投げるようなツールはCORS制約を受けない。あくまでCORS制約を受ける場合においてはサーバ側からのレスポンスを読み取らせないというブラウザに備わる機能。 ※深堀り! CORS対策をブラウザがしているのであればCSRFトークンといった対策をサーバ側はする必要ない?と思ってしまうけど、そうじゃない。 先述したようにCORSはあくまでブラウザの挙動。CSRF対

                        【これで解決】SPAでセッション管理するならCookieにしよう【CakePHP4編】 | りゅうりんブログ
                      • AWS IAM Identity Center にセッション管理機能が追加されました | DevelopersIO

                        いわさです。 本日のアップデートで IAM Identity Center にセッション管理機能が追加されたようです。 IAM Identity Center 上で IdP としてユーザー管理を行い、AWS のマルチアカウントを始め様々な外部サービスへのシングルサインオンを実現することが出来ます。 この独自管理するユーザーに対してセッション管理を行うための機能が追加されたという形のようです。 旧 AWS SSO のころからあまり IAM Identity Center に触る機会が少なかったのですが良い機会なのでアップデートの確認を兼ねて触ってみたいと思います。 セッション期間の設定 ひとつめは以下のようにセッション期間を設定することが出来るようになりました。 今までは固定で 8 時間だったようです。 設定メニューの認証タブに「セッション設定」が追加されています。 こちらはユーザーやグルー

                          AWS IAM Identity Center にセッション管理機能が追加されました | DevelopersIO
                        • Next.jsとUpstashでセッション管理をしてみる【Redis】|ryry_w

                          こんにちは。 本日はNext.jsでクッキーを使用したセッション管理を実践してみたいと思います。 なお、認証に関連するセッションについては、各認証サービスの公式ドキュメントを参照してください。 まずは、簡単にセッションの概念について説明します。 1.セッションとは?PHPやRubyなどのサーバーサイド言語を扱う場合、セッション管理は当たり前のように行われることです。 セッションは、サーバー側にデータを保存する仕組みです。 簡単に言えば、サーバーがユーザーの情報や状態を記憶しておくためのものです。 しかし、セッションについて理解する前に、ステートについても説明したいと思います。 2.ステートレスとステートフル● ステートレス ステートレスサーバーは、クライアントのセッション状態を保持せず、リクエストに対するレスポンスが一貫して同じです。 ● ステートフル ステートフルサーバーは、クライアント

                            Next.jsとUpstashでセッション管理をしてみる【Redis】|ryry_w
                          • 【Spring Security はじめました】#6 セッション管理

                            今回の目標 前回はUserDetailsの実装について説明しました。 【Spring Security はじめました】#5 ユーザーの実装今回はSpring Securityで認証に使用するユーザー情報の実装について説明します。具体的にはUserDetailsインターフェースを実装するクラスを作成します。b1tblog.com2020.02.27 今回はSpring Securityで行えるセッション管理とRemember Meについて説明をします。 セッションの設定 セッションに関する設定はプロパティとしてapplication.yml(properties)に設定します。これはSpring Bootの共通の設定なので、Spring Securityに関係なく設定できます。 プロパティについてはこちらを参考にしてください。 Spring Boot アプリケーションプロパティ設定一覧 -

                              【Spring Security はじめました】#6 セッション管理
                            • JWTをセッション管理に使っていいだのよくないだのいう話 - zakuni

                              アクセストークンが盗まれてる時点でアレなので、検知してから無効化できるまでの時間を数時間〜数十分程度早められる(もしくは遅くなる)ことをどれほど意味があると考えるか

                                JWTをセッション管理に使っていいだのよくないだのいう話 - zakuni
                              • Laravelでセッション管理(保存、取得、削除など)してみる | みぎさんドットコム

                                ステートレスなHTTP通信をステートフルな通信にするためのセッション管理ですが、Laravelでは簡単にセッション管理をするための仕組みが用意されています。 この記事で、Laravelでセッション管理する方法を解説していきたいと思います。 <?php use Illuminate\Support\Str; return [ 'driver' => env('SESSION_DRIVER', 'file'), 'lifetime' => env('SESSION_LIFETIME', 120), 'expire_on_close' => false, 'encrypt' => false, 'files' => storage_path('framework/sessions'), 'connection' => env('SESSION_CONNECTION', null), 'table

                                  Laravelでセッション管理(保存、取得、削除など)してみる | みぎさんドットコム
                                • Hono上にストレージレスなログインセッション管理を実装してみた - hnwの日記

                                  セッションストレージなしでログインセッションを維持する仕組みを作ったので、簡単に紹介します。 先日oidc-authというHonoのミドルウェアを実装して3rd-party middlewareとして採用していただきました。これは外部IDプロバイダーで認証を行ない、自前発行したJWTを毎リクエスト検証することで、サーバ側でセッションIDを記録することなくログインセッションを維持するものです。 このセッションストレージ不要という特徴はCDNエッジと親和性が高く、たとえばCloudflare Pagesで提供する静的コンテンツにGoogle認証をつける、といったことをエッジのCPUだけで実現できます。加えて、HonoのポータビリティのおかげでDeno Deployでも同じ仕組みが使えたりします。 個人的には実用性とセキュリティを両立した面白いものが作れたと考えていますが、セキュリティ面で不安を

                                    Hono上にストレージレスなログインセッション管理を実装してみた - hnwの日記
                                  • rails のセッション管理に redis を導入する

                                    以前、rails に redis を導入するという記事を書きました。 その際は、rails の提供するキャッシュの仕組み(Rails.cache)に、redis を使用しました。 今回は、セッション管理に redis を適用してみます。 目次 参考実行環境 windows Windows10 ver.1909 Mac macOS Mojave 10.14.4 参考 redis-store/redis-rails 事前準備事前準備として、devise gem を使用して、ログインを行うアプリケーションを作ってあるものとします。 やり方は、本ブログでたくさん扱っているので、参照ください。 Octo’s blog - devise の関連記事 redis サーバーは、localhost:6379でアクセスできるものとします。 その 1 (redis-rails を用いてフラグメントキャッシュスト

                                      rails のセッション管理に redis を導入する
                                    • Next.js SSRのセッション管理 - Qiita

                                      はじめに SSR(Server Side Rendering)の場合はセッションを使ってユーザー認証管理は一般的です。 Next.jsもいくつかのセッション管理ツールがありますので、少しまとめてみます。 next-authとは The NextAuth library uses Express and Passport, the most commonly used authentication library for Node.js, to provide support for signing in with email and with services like Facebook, Google and Twitter. NextAuth adds Cross Site Request Forgery (CSRF) tokens and HTTP Only cookies, sup

                                        Next.js SSRのセッション管理 - Qiita
                                      • 4.3. セッション管理 — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.2.1.RELEASE documentation

                                        HTTP自体には、物理的にセッションを維持する仕組みはないが、セッションを識別するための値(セッションID)を、クライアントとサーバとの間で連携することで、論理的にセッションを維持する仕組みが提供されている。

                                        • 5.8. セッション管理 — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.0.1.RELEASE documentation

                                          HTTP自体には、物理的にセッションを維持する仕組みはないが、セッションを識別するための値(セッションID)を、クライアントとサーバとの間で連携することで、論理的にセッションを維持する仕組みが提供されている。

                                          • セッション管理にJWTを使うと何が変わるの?

                                            はじめに Webページとサーバ間のセッションを管理する方法として「Session」と「JWT」の二種類の方法が一般的だと言われています[1]。それらのワードで検索すると、たまに「Session vs JWT」という記事がヒットします。 個人的にこれは誤解を生みそうな表現に思います。私だけかもしれませんが「JWTという今までのセッション管理とは全く異なる認証状態の管理方法があるのか?」と誤解してしまいました。 しかしJWTを理解するための正しいイメージは「Session vs JWT」ではなく、上の図のように「セッション管理のやりとりに使うデータとしてSession IDを使うかJWTを使うか」だと思います。 この記事ではまずSession IDを用いたセッション管理を説明し、次にJWTを使ったセッション管理について述べ最後にJWTのメリットを紹介します。 Session IDを使ったセッシ

                                              セッション管理にJWTを使うと何が変わるの?
                                            • Node.js(Express)+Redisで簡単にセッション管理を行う方法

                                              express-sessionを利用するExpressでCookieによるセッション管理を行う場合に利用されるモジュールは以下の2つです。 今回は以下の理由からexpress-sessionを採用することにします。 Cookie内には少量の単純なデータ(プリミティブな値)のみしか保存できないセッションデータがブラウザから閲覧出来てしまうexpress-session+Redisを実装するそれでは実装例を紹介します。express-sessionはデフォルトではサーバーメモリ上でセッションデータを保管しますが、実際の環境での稼動向きではないため通常外部ストレージを利用します。 今回はRedisを導入しますが、動作検証だけしたい方はストレージなしでも稼働確認できるので以下の事前準備はスキップして問題ありません。 (事前準備)Redisの用意まずは事前準備としてRedisをDockerコンテナで

                                                Node.js(Express)+Redisで簡単にセッション管理を行う方法
                                              • フレームワーク「GIN」を使ってみた(セッション管理) - Qiita

                                                ginを利用したセッション管理のサンプル 個人的備忘用。 github.com/gin-contrib/sessions と github.com/gin-contrib/sessions/cookie を利用しています。 以下、ソースです。 メイン package main import ( "log" "net/http" "github.com/gin-gonic/gin" . "SessionInfo" "routes" "github.com/gin-contrib/sessions" "github.com/gin-contrib/sessions/cookie" ) var LoginInfo SessionInfo func main() { router := gin.Default() //テンプレートの設定 router.LoadHTMLGlob("**/view/*

                                                  フレームワーク「GIN」を使ってみた(セッション管理) - Qiita
                                                • Flaskのセッション管理とセキュリティについて

                                                  Webアプリケーションでもなんでも、個人で開発するとなると自分の好みでフレームワークやら開発環境やらを選べるところが良い。 そして私はシンプルなもの好きなので、Flaskを使う。Pythonの軽量フレームワークとしてそこそこの知名度があるはずだ。 というわけで、Flaskの紹介も兼ねつつ、自分が使用していて気になったセッション管理の話などを書いてみたい。対象読者はFlaskを使ってみたい人や触ったことがある程度の人。 Flaskの魅力 Flaskの魅力を書きたいが……私はFlaskの魅力を語れるほど、その他のWebアプリケーションフレームワークをよく知らない。 PythonでWebシステムの開発をしたいと考えた場合、現状はDjango一強のようで、軽量フレームワークを探すと自然とFlaskになったという経緯だ。 しかしこれがやってみると思った以上にシンプルで使いやすく、気に入ってしまった。

                                                    Flaskのセッション管理とセキュリティについて
                                                  • セッション管理とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

                                                    簡単に書くよ セッション管理(読:セッションカンリ 英:session management)とは 「こんにちは」から「さようなら」までを管理すること。 もう少し真面目っぽく書くと 何らかの仕組みによって、論理的な意味での「開始」から「終了」まで(セッション)を管理すること です。 最初に留意事項です。 セッションが何か知っている人は、ここから先を読む必要はありません。 何らかの仕組みを使って セッションを管理する のが「セッション管理」です。 そのまんまですね。 セッションが何かを知らない人は、このまま読み進めてください。 まずはセッションが何かを説明します。 それでは、いってみましょう。 セッションは「通信などにおける論理的な意味での開始から終了まで(を意図する単位)」です。 もう少し大雑把に言えば 「こんにちは」から「さようなら」まで です。 例えば、そうですね。 ピヨ太君とピヨ子さ

                                                      セッション管理とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典
                                                    • AWS上でASP.NETのセッション管理(Amazon RDS for SQL Server 編) | LINKcom ブログ

                                                      ○はじめに ASP.NETアプリケーションを稼働させる上で、セッション管理はつきもの。弊社でもASP.NETのセッション管理が必要なアプリケーションが存在します。また、AWSで構成を組む上での単一障害点は避けるべきであるため、冗長化は必須です。 これをふまえ、今回は冗長化を見据えたAWS上でのセッション管理について説明していきます。 ○IISにおけるセッション管理の種類と選定 セッション管理には主に4種類の方法があります。 1. InProc インプロセスモードとして、アプリケーションを動かしているIISプロセス上でセッション管理。 IISの再起動やプログラム更新などで、プロセスが再起動するとセッション情報は消失してしまう。 2. StateServer 「ASP.NET状態サービス」というWindowsサービスを利用して管理。 インプロセスモードと異なり、サービスが独立しているのでアプリ

                                                        AWS上でASP.NETのセッション管理(Amazon RDS for SQL Server 編) | LINKcom ブログ
                                                      • セッション管理プラグインを作った結果あまりうまく運用できてない - Humanity

                                                        github.com セッションの保存・復元 (プロジェクト等) 異常終了時のセッションの復元 を目的としたセッション管理プラグインを作った。 コミットログ見れば分かるけど深夜の勢いで書いたので雑な部分もあるけど普通に使えるはず。 下の例と合わせて読み取ってもらえれば。 help 駆動で書いて妙に help は充実しているのでそちらも。 現在のセッションに名前をつけて保存ができる (:ForgetMeNot save {name}) セッションに名前をつけたり開いた (:ForgetMeNot switch {project-name}) 後は1分ごとに自動更新される 名前を付けなくても現在のセッションは instance/{pid} という名前でセッションが保存されている 保存しなければ正常終了時に削除される ただ Vim が落ちた場合は削除されないので :ForgetMeNot rea

                                                          セッション管理プラグインを作った結果あまりうまく運用できてない - Humanity
                                                        • 【C#、ASP.NET】SQL Serverでセッション管理する - tekitoumemo’s diary

                                                          ほぼ完成した。公開まであと少し。 ASP.NETのセッション方法はいくつかあるのですが、今回はインメモリ OLTP でセッション管理を行う方法を紹介します。以下を参考にしました。 blogs.technet.microsoft.com インメモリ OLTP とは 正直、僕もよくわかってないのですが、データベースのメモリ最適化を行うための手法みたいです。まぁ勝手に最適化してくれて早くなったという感じでしょうか。 インメモリ OLTP (インメモリ最適化) | Microsoft Docs まずMicrosoft.Web.SessionState.SqlInMemoryをNugetから取得します。 取得するとプロジェクト直下に「ASPStateInMemory.sql」というクエリが作成されるのでこちらをSQLServerで実行します。FileNameのところがDドライブの指定になってるので、

                                                            【C#、ASP.NET】SQL Serverでセッション管理する - tekitoumemo’s diary
                                                          • AWSでマルチAZなセッション管理DBを構築する5つのプラクティス | DevelopersIO

                                                            はじめに セッション管理が必要なWebアプリケーションサーバをロードバランシングやクラスタリングなどで負荷分散構成とした場合、セッション情報をデータベースに保持し共有化する方法が一般的です。しかしAWSのインフラストラクチャ障害などでAZが丸ごとダウンするようなケースを考慮した場合、Webアプリケーションサーバと共に、セッション管理DBも複数のAZに分散配置するのが望ましいでしょう。 ではAWSでセッション管理DBを複数のAZに分散配置する場合、どのような手段が考えられるのでしょうか。というのが今回のスタート地点です。 1.AZ分散配置しない いきなり前提を覆すような話をしますが、そもそもAZ分散配置が必要なケースは、AZが丸ごとダウンしセッション管理DBが使えなくなることがサービス停止に直結する場合です。 つまりアプリケーションが「セッション管理DBに接続出来ない場合はローカルのDBやフ

                                                              AWSでマルチAZなセッション管理DBを構築する5つのプラクティス | DevelopersIO
                                                            • セッション管理の不備について調べたメモ - Qiita

                                                              参考情報 「1.4 セッション管理の不備」に記載があります。 安全なウェブサイトの作り方:IPA 独立行政法人 情報処理推進機構 産業技術総合研究所 高木浩光: 「CSRF」と「Session Fixation」の諸問題について どちらの版でも「4.6 セッション管理の不備」に記載があります。 「3.1 HTTPとセッション管理」 私は第1版しか持っていないのでそちらを参照しました。 体系的に学ぶ 安全なWebアプリケーションの作り方 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 セッション管理の不備とは セッション管理に不備があるために、セッションIDを悪用して成りすまされてしまう可能性があります。 このような攻撃手法をセッションハイジャックと呼びます。 セッションハイジャックの分類 セッションIDの推測 セッションIDの盗み出し セッションIDの強制/固定化 セッションハ

                                                                セッション管理の不備について調べたメモ - Qiita
                                                              • TANPのセッション管理をElastiCache(Redis)に変えた話|Gracia Engineer (TANP)

                                                                こんばんは!株式会社GraciaのCTOの林(@takumin513)です。TechNoteを開設してから半年間ずっと放置してきましたが、最近調べたことを振り返りも兼ねて投稿しようと思います。 弊社では、「TANP」というギフトに特化したネットショップを運営しております。フレームワークはCakePHP(3系)を使っています。 今回、ユーザーのログイン状態やカートの情報を管理するためのセッションをElastiCache(Redis)で管理するように変更したのですが、変更した背景と流れについてまとめようと思います。 Redisに変更しようと思った背景現状のTANPの構成について 現状、TANPのアプリケーションはAWSの上に乗っており、ロードバランサーの下にEC2(アプリサーバー)が2つぶら下がっています。環境構築にはElasticBeanstalkを使っています。 CakePHPのデフォルト

                                                                  TANPのセッション管理をElastiCache(Redis)に変えた話|Gracia Engineer (TANP)
                                                                • Ruby on Railsのセッション管理にRedisを使ってみた - Qiita

                                                                  概要 Redisとは メモリ上にKey-Valueストア(KVS)を構築することができるソフトウェアの一つ。 KVSは任意の保存したいデータ(値:value)に対し、対応する一意の標識(キー:key)を設定し、これらをペアで保存するデータベースの一種で、Redisはコンピュータのメインメモリ上にKVSを構築し、外部のプログラムからデータの保存と読み出しができる。 Redisとは - IT用語辞典より抜粋 なぜRedisを使用するのか? ruby on rails - セッションを保存するとき、なぜ、Cookieではなくmemcachedやredisを使用するのでしょうか? - スタック・オーバーフロー Ruby on Rails - redisやmemcashedといったセッションストアの使用シーンがわかりません。(RDBではダメなんでしょうか?)(11303)|teratail Redi

                                                                    Ruby on Railsのセッション管理にRedisを使ってみた - Qiita
                                                                  • セッション管理としてRedisを使用する - RAKUS Developers Blog | ラクス エンジニアブログ

                                                                    はじめに みなさん こんにちは、Thuatと申します。今年ラクスに入社しました1年目です。 この記事ではセッション管理としてRedisを使用するケースを紹介します。 Redisとは? Redis は簡単に言うと、メモリ上のKey-Valueストアです。 メモリ上にデータを格納しますので高速に動作します。 以下はインストールから簡単なデータの登録・取得までの手順になります。 Redisをインストールする $ wget http://download.redis.io/releases/redis-4.0.1.tar.gz $ tar xzf redis-4.0.1.tar.gz $ cd redis-4.0.1 $ make Redisサーバーを起動する $ src/redis-server 33507:C 25 Sep 23:21:32.201 # oO0OoO0OoO0Oo Redis

                                                                      セッション管理としてRedisを使用する - RAKUS Developers Blog | ラクス エンジニアブログ
                                                                    • Dynamo DBによるセッション管理について

                                                                      DynamoDBの日本語スレッドがなかったため、不適切かもしれませんがRDSのスレッドに投稿させて頂きました。 Dynamo DBでセッション管理をするにあたり、一点疑問が生じたため質問をさせてください。 Dynamo DBは結果整合性のDBであると認識しております。このため、もし、Dynamo DBでセッション管理を行った場合、たとえばユーザーがログイン処理を行ったのにログインされていないと判断されてしまうようなことはないでしょうか。 いくつかのサイトをみてまわり、セッション管理をDynamo DBで行っても問題なさそうな記述は見受けられますがDynamo DBが結果整合性のデータベースである以上、上記のような問題が発生するのではないかと考えております。 もし、このあたりの内容に関して知見のある方がいましたら教えて頂けますと幸いです。

                                                                        Dynamo DBによるセッション管理について
                                                                      • やられアプリ BadTodo - 14 セッション管理の不備 - demandosigno

                                                                        前回:やられアプリ BadTodo - 13 クリックジャッキング - demandosigno HTTPプロトコルはステートレスで、サーバー側では状態を保持しません。しかしアプリケーションでは状態を保持したい場合があります。典型例としてよく紹介されるのがECサイトの「ショッピングカート」です。ショッピングカートはカートに入れられた商品を覚えておく必要があります。 これらアプリケーションの状態を覚えておくことをセッション管理と呼びます。このセッション管理をHTTPで実現する方法にCookieがあります。 セッションIDが漏洩すると他の利用者に成りすましができるので、漏洩しないように対策する必要があります。 以下、ウェブ健康診断 仕様 p.18(K)セッション管理の不備 にある検出パターンを確認していきます。 1.ログインの前後でセッション ID が変化するか ウェブアプリケーションによって

                                                                        • Google SignInするSPAとGoサーバー間のセッション管理 - bati11 の 日記

                                                                          書き出したら長くなってしまい4回分になってしまった日記です。 ReactとGoogle Sign-In ReactRouterを使ってGoogleログイン前と後で画面を変える ReactRouterを使ってGoogleログイン前と後で画面を変える(続き) 今日は、Google SignInでログインした後、自分のサーバーサイドアプリケーションとのセッション管理について考えてみます。 IDトークン GoogleSignInと自前サーバーサイドアプリケーションの連携は、ここに書いてある通りやれば良い。 https://developers.google.com/identity/sign-in/web/backend-auth 強調して書かれてるけど、ログイン後のコールバック関数で取得できるユーザー情報をサーバーサイドに渡してはいけない、って書いてある。IDトークンを渡しましょう。 下で取得し

                                                                            Google SignInするSPAとGoサーバー間のセッション管理 - bati11 の 日記
                                                                          • Basic認証とフォーム認証(Cookieを使ったセッション管理)の仕組み - Qiita

                                                                            インターネットを通じたWEBサービス(例えば、Google, Amazon, Instagram等)を利用する際、「認証」をする機会がたくさんあります。 この記事では基礎的な認証の仕組みのBasic認証とフォーム認証(Cookieを使ったセッション管理の仕組み)についてまとめました。 そもそも認証って? 認証とは、サービスの利用者が確かに本人であることを確認することです。 HTTPで定義される認証方式の一つで、もっとも単純な実装方式です。 冒頭で挙げたような一般的なWEBサービスの認証として利用されることはほとんどありませんが、開発現場において本番リリース前のサイト/サービス等へのアクセスを特定の人だけに限定するための認証としてよく使われます。 Basic認証の仕組み クライアントがBasic認証を必要とするページへのアクセスのリクエストをサーバへ送付する 401 Unauthorized

                                                                              Basic認証とフォーム認証(Cookieを使ったセッション管理)の仕組み - Qiita
                                                                            • cookieを使わずにセッション管理する(ログイン認証が必要な携帯サイト用)|プログラムメモ

                                                                              セッションは通常cookieを通してやりとりしますが、cookieを使えないブラウザ (携帯端末 Docomo Softbank )等でセッション機能を実現させたい場合はセッションIDを URIに埋め込んで使用することになります。 ■ セッションをURLに埋め込んで使用するには以下の記述を行います。 /etc/php.iniに設定する場合(書き換えたら apache をリスタート) session.use_trans_sid = 1 .htaccessに設定する場合 php_flag session.use_trans_sid On phpコードに記述する場合 ini_set('session.use_trans_sid', '1'); ただし 注意: 相対URLでないURLは外部サイトを指していると仮定され、SIDが追加 されません。これは、SIDを外部のサーバに開示することはセキュリテ

                                                                              • 間違いだらけのHTTPセッション管理とその対策 | yohgaki's blog

                                                                                (Last Updated On: 2018年10月12日)HTTPセッション管理はWebセキュリティの中核と言える機能です。Webセキュリティの中核であるHTTPセッション管理に設計上のバグがある事は少なくありません。今回のエントリはPHP Webアプリ開発者ではなく、主にWebフレームワーク側の開発者、つまりPHP本体の方に間違いがあるという話しです。Webアプリ開発者の回避策も紹介します。 まずセキュリティの基本として「入力のバリデーションを行い、正当な入力のみを受け入れる」があります。しかし、PHPに限らず多くのセッション管理機構は当たり前の「入力のバリデーションを行い、正当な入力のみを受け入れる」を行っていません。セッションIDの再生成(リセット)も不完全な物が多いと思います。 参考: 知らないと勘違いする「合成の誤謬」の罠 開発者は必修、SANS TOP 25の怪物的なセキュリ

                                                                                  間違いだらけのHTTPセッション管理とその対策 | yohgaki's blog
                                                                                • CakePHP4 フォーム値をセッション管理する - Qiita

                                                                                  Every Qiita #24 のんびり独学初学者投稿 24日目 今回は・・・ cakePHP4のフォーム値をセッション管理した時の備忘録です。 controllerでセッションを準備する cakephpではSessioオブジェクトを使って書き込みや読み込みを行います。$this->getRequest()->getSession()でセッションにアクセスすることができます。 公式ドキュメントではセッションを独自でカスタマイズする方法が載っていますので、近々実装して投稿しようと思います。 public function initialize(): void { $session = $this->session = $this->getRequest()->getSession(); $this->set(compact("session")); } viewでセッションにアクセスするたび

                                                                                    CakePHP4 フォーム値をセッション管理する - Qiita