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
73
一時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.
27新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
0
2.4k
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
51
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
1.5k
データ基盤の負債解消のためのリプレイス
livesense
PRO
0
440
26新卒_総合職採用_会社説明資料
livesense
PRO
0
11k
株式会社リブセンス会社紹介資料 / Invent the next common.
livesense
PRO
1
37k
26新卒_Webエンジニア職採用_会社説明資料
livesense
PRO
1
13k
中途セールス職_会社説明資料
livesense
PRO
0
260
EM候補者向け転職会議説明資料
livesense
PRO
0
130
Other Decks in Technology
See All in Technology
研究開発と製品開発、両利きのロボティクス
youtalk
1
510
COVESA VSSによる車両データモデルの標準化とAWS IoT FleetWiseの活用
osawa
1
260
人工衛星のファームウェアをRustで書く理由
koba789
11
7k
サラリーマンの小遣いで作るtoCサービス - Cloudflare Workersでスケールする開発戦略
shinaps
1
390
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
150
250905 大吉祥寺.pm 2025 前夜祭 「プログラミングに出会って20年、『今』が1番楽しい」
msykd
PRO
1
680
ZOZOマッチのアーキテクチャと技術構成
zozotech
PRO
3
1.4k
Firestore → Spanner 移行 を成功させた段階的移行プロセス
athug
1
440
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
490
バイブスに「型」を!Kent Beckに学ぶ、AI時代のテスト駆動開発
amixedcolor
2
510
フィンテック養成勉強会#56
finengine
0
140
落ちる 落ちるよ サーバーは落ちる
suehiromasatoshi
0
150
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
77
6k
Building Applications with DynamoDB
mza
96
6.6k
Practical Orchestrator
shlominoach
190
11k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.7k
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Designing for Performance
lara
610
69k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
920
Docker and Python
trallard
45
3.6k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Visualization
eitanlees
148
16k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
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. い ち
ろ ー い ち ろ ー 内質 容問 をで 膨発 ら表 ま