Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
一時URLとKVS #TechLunch
Search
Livesense Inc.
PRO
April 21, 2014
Technology
0
63
一時URLとKVS #TechLunch
一時URLとKVS
2012/08/01 (水) @ Livesense TechLunch
発表者:福田 慎太郎
Livesense Inc.
PRO
April 21, 2014
Tweet
Share
More Decks by Livesense Inc.
See All by Livesense Inc.
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
770
26新卒_総合職採用_会社説明資料
livesense
PRO
0
1.5k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
8.8k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
5k
中途セールス職_会社説明資料
livesense
PRO
0
140
EM候補者向け転職会議説明資料
livesense
PRO
0
58
コロナで失われたノベルティ作成ノウハウを復活させた話
livesense
PRO
0
180
転職会議でGPT-3を活用した企業口コミ要約機能をリリースした話
livesense
PRO
0
1.2k
株式会社リブセンス マッハバイト_プレイブック
livesense
PRO
0
720
Other Decks in Technology
See All in Technology
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
TypeScript、上達の瞬間
sadnessojisan
48
14k
CDCL による厳密解法を採用した MILP ソルバー
imai448
3
190
New Relicを活用したSREの最初のステップ / NRUG OKINAWA VOL.3
isaoshimizu
3
650
LINEヤフーにおけるPrerender技術の導入とその効果
narirou
1
190
日経電子版のStoreKit2フルリニューアル
shimastripe
1
150
電話を切らさない技術 電話自動応答サービスを支える フロントエンド
barometrica
1
120
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
210
オープンソースAIとは何か? --「オープンソースAIの定義 v1.0」詳細解説
shujisado
10
1.4k
インフラとバックエンドとフロントエンドをくまなく調べて遅いアプリを早くした件
tubone24
1
440
Storybook との上手な向き合い方を考える
re_taro
5
1.4k
Platform Engineering for Software Developers and Architects
syntasso
1
530
Featured
See All Featured
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Rails Girls Zürich Keynote
gr2m
94
13k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
159
15k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
The Pragmatic Product Professional
lauravandoore
31
6.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Producing Creativity
orderedlist
PRO
341
39k
Testing 201, or: Great Expectations
jmmastey
38
7.1k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
0
120
Transcript
一時URLとKVSのお話
2 Copyright © Livesense Inc. All rights reserved. はじまり •
ジョブセンス派遣において、セキュリティガイドラインのうち、パ スワード保存とアカウント管理の一部を適用開始
3 Copyright © Livesense Inc. All rights reserved. はじまり •
そのうち、パスワード再設定機能については、下のようにルー ルが記述されています • 以下のようなトークンを使用する手順でパスワード再設定機能を 用意すること – パスワードを忘れたユーザーにメールアドレスを入力してもらう – トークンを生成し、トークン付きのパスワード再設定画面へのURLをユー ザーの登録メールアドレスに送付する – ユーザーが指定されたURLへ遷移し、パスワードの再設定を行う – パスワード再設定が行われたトークンは破棄する – パスワード再設定が行われた旨をユーザーの登録メールアドレス宛に通 知する – パスワード再設定が1日経過しても行われなかった場合は、そのトークン も破棄する
4 Copyright © Livesense Inc. All rights reserved. はじまり •
「トークン付きのパスワード再設定画面」ってさらっと書いてあ るけども・・・ • トークンの生成方法 • トークンの保持方法 • URLの形式 • 等が書かれていません
5 Copyright © Livesense Inc. All rights reserved. トークンの生成 •
そこで、まずどうすれば良いトークンが作れるかを考えました • トークンに求められるのは • 安全な乱数 • 十分な長さ • 安全な乱数を作るために使ったのは • https://github.com/ircmaxell/PHP-PasswordLib • このおじさんが作ってくれたみたいです • https://github.com/ircmaxell • 十分な長さは • とりあえず40に – 参考:googleは247、amazonは162.固定長かは未調査 – 本当に40でいいか心配になってきた
6 Copyright © Livesense Inc. All rights reserved. トークンの保持方式 •
memcacheに保存。 • しようと思ったら、うちのサーバー構成↓みたいなので • アクセスするたびに読み込むmemcacheサービスが変わる可 能性がある Web Server memcache apache Web Server memcache apache ロードバランサ
7 Copyright © Livesense Inc. All rights reserved. トークンの保持方式 •
しょうがないので、DBにKVS型のテーブル作成して、そこに保 存する key value expired_at
8 Copyright © Livesense Inc. All rights reserved. URLの形式 •
http://haken.j-sen.jp/password/reset_{企業ID}_{token}.htm にしました • トークンだけにしなかった理由 – URLを再発行するたびに、以前発行した生きている再設定URLを破棄し たいという要件を満たしたかったため – つまり、KVSに保存する方法が – の形式だと、URLはトークンだけをパラメータで渡せば済むが、古い再設 定URLを削除するには、全表走査して同一企業IDを探す必要が出てきて しまう – ので、keyに企業ID、valueにトークンを格納することにし、新たに再設定 URLが発行されたら、トークンと有効期限を上書きすることにしました key value expired_at トークン 企業ID 日時 key value expired_at 企業ID トークン 日時
9 Copyright © Livesense Inc. All rights reserved. 今日の結論 •
canpassとかでredisを入れるという噂を聞いたので、導入事例 をさくっと作って、memcacheに代わるインメモリなKVSが欲し いな
10 Copyright © Livesense Inc. All rights reserved. 今日の疑問 •
インメモリKVSっていっぱいあるけど、それぞれ何が違うのか よくわからない • Redis • Oracle Coherence • EADs • Red Hat JBoss Data Grid 6 • VMware vFabric GemFire
11 Copyright © Livesense Inc. All rights reserved. 質問タイム
12 Copyright © Livesense Inc. All rights reserved. い ち
ろ ー い ち ろ ー 内質 容問 をで 膨発 ら表 ま