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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Takuya Eguchi (egch)
September 06, 2019
Technology
920
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
VeeValidate の"穴"を踏み抜いてしまった
Takuya Eguchi (egch)
September 06, 2019
More Decks by Takuya Eguchi (egch)
See All by Takuya Eguchi (egch)
TypeScript の class を使い倒す
egch
1
56
Next.js に疲れた私は Vue3 に癒やされた
egch
0
330
Secure な UX のために Content Security Policy について知っておこう
egch
0
59
package.json がすごい
egch
0
150
Nuxt.js のインスタンスライフサイクル総点検
egch
0
420
Webエンジニアのデザイン実装との付き合い方
egch
0
320
20200528 - GCPでもサーバーレスでRubyりたい!
egch
0
140
継続的に楽しくプログラミングするには - 2018/11/3 Rails Girls Sendai
egch
0
120
Other Decks in Technology
See All in Technology
Claude Code の Sandbox 機能を Anthropic Sandbox Runtime(srt) で試そう!/lets-play-anthropic-sandbox-runtime
tomoki10
1
320
Rubyで音を視る
ydah
1
220
やさしいA2A入門
minorun365
PRO
7
890
2026.06.13_AI時代に事業会社が「SIer出身エンジニア」を求める理由 / Why Businesses Seek Engineers with a System Integrator Background in the AI Era
jumtech
0
960
LLMと共に進化するプロセスを目指して
ymatsuwitter
12
3.7k
noUncheckedIndexedAccess、3時間、1万円。 / noUncheckedIndexedAccess, 3 Hours, 10,000 JPY.
kaonavi
1
340
Building applications in the Gemini API family.
line_developers_tw
PRO
0
2.4k
サイバーセキュリティ概論 / Introduction to Cybersecurity
ks91
PRO
0
170
「速く作る」から「正しく作る」へ ─ 生成AI時代の開発フロー改革の ロードマップと実行 ─
starfish719
0
9.3k
製造業のクラウド活用最適解〜AI,DXを加速するデータ基盤の作り方〜
hamadakoji
0
420
React、まだ楽しくて草
uhyo
7
4.2k
AI活用を推進するために ファインディが下した、一つの小さな決断
starfish719
0
280
Featured
See All Featured
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
250
How STYLIGHT went responsive
nonsquared
100
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.2k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
It's Worth the Effort
3n
188
29k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
140
Code Review Best Practice
trishagee
74
20k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
460
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Building Adaptive Systems
keathley
44
3k
Into the Great Unknown - MozCon
thekraken
41
2.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
560
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