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
52
一時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
67
株式会社リブセンス 会社説明資料(報道関係者様向け)
livesense
PRO
0
330
転職会議でGPT-3を活用した企業口コミ要約機能をリリースした話
livesense
PRO
0
1k
株式会社リブセンス マッハバイト_プレイブック
livesense
PRO
0
380
Tech Award 2021 選出方法
livesense
PRO
0
980
株式会社リブセンス エンジニアリング組織を支える風土と制度
livesense
PRO
0
510
株式会社リブセンス・マッハバイト 採用候補者様向け資料
livesense
PRO
0
210
株式会社リブセンス・転職会議 採用候補者様向け資料
livesense
PRO
0
2k
brain.optimizerのレコメンド取得API
livesense
PRO
0
2.1k
Other Decks in Technology
See All in Technology
オーティファイ会社紹介資料 / Autify Company Deck
autifyhq
7
100k
SREsのためのSRE定着ガイド
netmarkjp
10
1.4k
LLMプロダクト事業の立ち上げにおける挑戦
layerx
PRO
7
1.4k
実務への応用例から考える 変更に強いオブジェクト指向設計 / 20240324-ooc2024
bengo4com
7
4.5k
10分でわかるfreeeのQA
freee
0
210
技術広報として2023年度に頑張ったこと / What we did well in FY2023 as a DevRel
pauli
5
450
『QAという人』が必要ではなく、『QAという技術』が必要
sadonosake
2
450
KubeCon EU: Unlocking new Platform Experiences with Open Interfaces
salaboy
1
360
プッシュ型子育てサービスを、先行プロジェクト実施自治体において開始します
govtechtokyo
0
220
LLM + RAG を使った SORACOM Support Bot の裏側の歴史
soracom
PRO
1
630
Kubeflow Pipelines v2 で変わる機械学習パイプライン開発
asei
4
330
エバンジェリスト活動を7年やってきて見えてきた、コミュニティとエバンジェリストの関係
soracom
PRO
1
190
Featured
See All Featured
The Invisible Customer
myddelton
114
12k
Imperfection Machines: The Place of Print at Facebook
scottboms
257
12k
Why You Should Never Use an ORM
jnunemaker
PRO
50
8.6k
GitHub's CSS Performance
jonrohan
1023
450k
Infographics Made Easy
chrislema
237
18k
GraphQLとの向き合い方2022年版
quramy
28
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
185
15k
Facilitating Awesome Meetings
lara
39
5.5k
The Language of Interfaces
destraynor
150
22k
Thoughts on Productivity
jonyablonski
57
3.8k
Building Applications with DynamoDB
mza
88
5.6k
A Tale of Four Properties
chriscoyier
150
22k
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. い ち
ろ ー い ち ろ ー 内質 容問 をで 膨発 ら表 ま