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
VeeValidate の"穴"を踏み抜いてしまった
Search
Takuya Eguchi (egch)
September 06, 2019
Technology
1
910
VeeValidate の"穴"を踏み抜いてしまった
Takuya Eguchi (egch)
September 06, 2019
Tweet
Share
More Decks by Takuya Eguchi (egch)
See All by Takuya Eguchi (egch)
TypeScript の class を使い倒す
egch
1
48
Next.js に疲れた私は Vue3 に癒やされた
egch
0
300
Secure な UX のために Content Security Policy について知っておこう
egch
0
48
package.json がすごい
egch
0
140
Nuxt.js のインスタンスライフサイクル総点検
egch
0
410
Webエンジニアのデザイン実装との付き合い方
egch
0
300
20200528 - GCPでもサーバーレスでRubyりたい!
egch
0
130
継続的に楽しくプログラミングするには - 2018/11/3 Rails Girls Sendai
egch
0
110
Other Decks in Technology
See All in Technology
Microsoft Learn MCP/Fabric データエージェント/Fabric MCP/Copilot Studio-簡単・便利なAIエージェント作ってみた -"Building Simple and Powerful AI Agents with Microsoft Learn MCP, Fabric Data Agent, Fabric MCP, and Copilot Studio"-
reireireijinjin6
1
220
alecthomas/kong はいいぞ
fujiwara3
6
1.3k
Unson OS|48時間で「売れるか」を判定する AI 市場検証プラットフォーム
unson
0
170
AWS re:Inforce 2025 re:Cap Update Pickup & AWS Control Tower の運用における考慮ポイント
htan
1
180
興味の胞子を育て 業務と技術に広がる”きのこ力”
fumiyasac0921
0
550
LLMでAI-OCR、実際どうなの? / llm_ai_ocr_layerx_bet_ai_day_lt
sbrf248
0
420
みんなのSRE 〜チーム全員でのSRE活動にするための4つの取り組み〜
kakehashi
PRO
2
120
Power Automate のパフォーマンス改善レシピ / Power Automate Performance Improvement Recipes
karamem0
0
280
Kiroから考える AIコーディングツールの潮流
s4yuba
4
610
2025-07-31: GitHub Copilot Agent mode at Vibe Coding Cafe (15min)
chomado
2
310
反脆弱性(アンチフラジャイル)とデータ基盤構築
cuebic9bic
2
150
ビジネス文書に特化した基盤モデル開発 / SaaSxML_Session_2
sansan_randd
0
230
Featured
See All Featured
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Scaling GitHub
holman
461
140k
The Invisible Side of Design
smashingmag
301
51k
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.9k
Embracing the Ebb and Flow
colly
86
4.8k
YesSQL, Process and Tooling at Scale
rocio
173
14k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Transcript
VeeValidate の”穴”を 踏み抜いてしまった 2019.9.6 v-sendai #3 @楽天株式会社 江口 拓弥
自己紹介 江口 拓弥 v-sendai 皆勤賞で LT やってる人です。 最近の構成は、 Nuxt.js x
TypeScript x Firebase x Auth0 です! 2 akathea_
おことわり このLTで登場するコードは、全て v2系の内容になります… 29 Jul. - VeeValidate 3.0 is out
!!! 3 akathea_
VeeValidateとは? akathea_
“ Template Based Validation Framework For Vue.js 5 akathea_
非同期かつリアルタイムに バリデーションできる 6 akathea_ https://codesandbox.io/s/x2k1l2y17o
ドキュメントも豊富 7 akathea_
i18nも楽ちん! 8 akathea_
こんな感じでバリデーション <input name="mail" :value="mail" placeholder="メールアドレス" validate="required|email" validate-name="メールアドレス" /> 9 akathea_
超便利! akathea_
ある日、痛ましい事件が… 11 メールマガジンが配 信できなかったユー ザー見てたら メアドに全角文字 入ってるんだけどこ れはバグ? ?! 運用チーム
私 akathea_
(そもそも)メールアドレスの 正しいフォーマットって? akathea_
RFC 5322 13 http://srgia.com/docs/rfc5322j.html#p3.4 akathea_
実はこんなメールアドレスがある 14 ◦ ...hoge…@docomo.ne.jp □ 先頭や@直前に「.」は使ってはいけない。「 .」を2回以上連続して使ってはいけない。いけな いのだが、docomoのキャリアメールでは許可されている。 ◦ “hoge
huga”@example.com □ 「“」と「”」に囲まれていた場合、間にスペースが利用できる。 できるが、そもそもダブルクオート使えるメールサービスを知らない。 ◦ 管理者@ぶいせんだい.jp , föö@bår.de □ RFC 6530 によって、メルアド(ユーザー名、ドメイン名どちらも )に マルチバイトが許可された。 Gmailも 2014年に送受信に対応。 とはいえ見たことはない。 akathea_
実はこんなメールアドレスがある 15 ...確かに存在する…! ...するが…! ...こんなアドレスがあるはずがない…! v.sendai3@gmail.co 全角 明らかに typo akathea_
入力値をどうチェックすべきだった? 16 ◦ メールアドレスのベリファイ※は実施していたが 利用時の必須条件にしていなかった ※会員登録されたアドレス宛にワンタイムURL付き確認メールを送信 ◦ 何度も会員登録できる仕組みではなかった →ユーザーは登録ミスに気づいても再登録できなかった →厳格なチェックが必要だった
◦ 「メールアドレスに使える文字は半角だけ」 という固定概念があった ◦ VeeValidateを始め、有名なライブラリなら そのへんも面倒見ていると勘違いしてしまった akathea_
まとめ akathea_
まとめ 18 ◦ 有名なライブラリ・フレームワークにも穴はある □ そもそも日本人以外は、今回の事象を 穴とも思っていないかもしれない ▪ i18n と
l11n は違う ◦ メールアドレスに限らず、世の中の常識が変わっているという 可能性を常に考慮する □ 常に最新の情報をキャッチアップし続ける ◦ 厳格なチェックが必要なときはちゃんとテストする ◦ 本当に穴っぽかったらPR出していこう! akathea_
ご清聴ありがとうございました 19