2023/08/26(土)に開催された Frontend Nagoya #11 のセッションで使用したスライド資料です。
ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊʹϑϩϯτΤϯυΤϯδχΞ͕Ͱ͖Δ͜ͱϑϩϯτΤϯυ໊ݹ vol. 112023/08/18
View Slide
༗ݶձࣾΞοϓϧοϓϧϑϩϯτΤϯυΤϯδχΞCMSΛ։ൃ͍ͯ͠ΔΤϯδχΞɻϑϩϯτΤϯυ͕͖ɻPHPͰόοΫΤϯυ։ൃ͠·͢ɻFrontend Nagoya ͱ͍͏ษڧձΛओ࠵ͯ͠·͢ɻϙέϞϯͱອը͕͖ɻӉҪ ొ@uidev1116
ࠓͷత• ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊͷϚʔΫΞοϓΛΔ• ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊͷUIΛΔ• ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊͷػೳΛΔ
ύεϫʔυཧͷ՝World Password Day Survey 2023 (Bitwarden) ΑΓ
52%
58%
🫠ʮਪଌ͞Εʹ͍͘ʯύεϫʔυΛΘͤΔΈ͕ඞཁ
ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊͷϚʔΫΞοϓΛΔ
ϒϥβΈࠐΈػೳͷϝϦοτΛڗडͰ͖Δ• ύεϫʔυϚωʔδϟʔ• ΞΫηγϏϦςΟ
• ɺɺ Λ༻͢Δ• type=“password" type=“email” ͳͲదͳ input λάͷܕΛ༻͢Δ• new-password current-password, username, emailͳͲదͳ autocomplete ଐੑΛ׆༻͢Δ• aria-describedby ଐੑΛ༻ͯ͠ɺύεϫʔυϙϦγʔΛઆ໌͢Δ
ύεϫʔυϚωʔδϟʔ🔑
• ύεϫʔυΛ҆શʹೖྗ͢ΔͨΊͷܕ• 1 ͭ 1 ͭͷจࣈ͕ΞελϦεΫ ("*") υοτ ("•") ͷΑ͏ͳه߸ʹΑͬͯӅ͞ΕΔ• ύεϫʔυϚωʔδϟʔ͕ݕՄೳ
autocomplete ଐੑ
• αΠϯΠϯϑΥʔϜͳͲͷطଘͷύεϫʔυೖྗ• ύεϫʔυϚωʔδϟʔʹΑΔύεϫʔυͷࣗಈೖྗ"current-password"
"new-password"• αΠϯΞοϓϑΥʔϜ• ύεϫʔυมߋϑΥʔϜ• ύεϫʔυࣗಈੜ
ύεϫʔυࣗಈೖྗͷࢭ• Basicೝূػೳ• ύεϫʔυมߋػೳ
• ࠷ۙͷϒϥβͰແࢹͯ͠ύεϫʔυͷࣗಈೖྗΛ͢Δ(“current-password” ͱಉ͡ڍಈ)“off"
༨ஊͰ͕͢…• autocomplete=“username” ΛϢʔβʔIDɾϝʔϧΞυϨεͷʹࢦఆ͢Δͱɺtype="text" ͷೖྗϑΟʔϧυ͕ෳଘࡏͨ͠߹ɺ༏ઌͯ͠ʮϢʔβʔ໊ʯͱͯࣗ͠ಈೖྗٴͼอଘͯ͘͠ΕΔ• αΠϯΞοϓϑΥʔϜͷϢʔβʔ໊ʹར༻͢Δͱ👍
ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊͷUIΛΔ
֬ೝͷͨΊͷ࠶ೖྗඞཁͰ͔͢🤔
https://www.zuko.io/blog/should-you-use-confirm-password-on-your-forms-and-websites-case-studyύεϫʔυ֬ೝίϯόʔδϣϯΛԼ͛Δ21
ίϐϖ͢Δ͚ͩͰ֬ೝͯ͠ͳ͍😮💨
ύεϫʔυදࣔΓସ͑ػೳ͕˕• ύεϫʔυ͕Ӆ͞Ε͍ͯΔ߹ɺϢʔβʔύεϫʔυͷೖྗϛεΛ͘͢͠ͳΔ• ೖྗϛε͕૿͑ΔͱϢʔβʔϩάΠϯ͢ΔҙཉΛࣦ͍ɺϏδωεతʹଛࣦͱͳΔՄೳੑ͕͋Δ• ೖྗϛε͕૿͑ΔͱϢʔβʔೖྗϛεΛ͠ͳ͍ͨΊʹʮਪଌ͍͢͠ʯύεϫʔυΛ༻͢ΔՄೳੑ͕͋Δ
༨ஊͰ͕͢…• ϞόΠϧΩʔϘʔυ͕αΠϯΠϯϘλϯΛ͠ͳ͍Α͏ʹ͢Δ͜ͱݟམͱ͕͚ͪͩ͠Ͳେ👍
ʮਪଌ͞Ε͍͢ʯύεϫʔυΛೖྗͤ͞ͳ͍ͨΊͷػೳΛΔ
ύεϫʔυڧϝʔλʔ📏
zxcvbn• ΦϯϥΠϯετϨʔδαʔϏεΛఏڙ͍ͯ͠Δ Dropbox ͕։ൃɺ࣮ࡍʹ༻͞Ε͍ͯΔύεϫʔυڧਪఆͷͨΊͷϥΠϒϥϦ
TypeScript ൛͋Γ·ͨ͠
ಋೖ؆୯ʂ
https://github.com/uidev1116/zxcvbn-ts-sample/blob/master/src/main.ts30(JU)VCʹ͋͛ͯΈͨ✌
·ͱΊ
·ͱΊϒϥβͷศརͳΈࠐΈػೳΛར༻͢ΔͨΊɺదͳHTMLλάΛར༻͠Α͏
·ͱΊ֬ೝͷͨΊͷ࠶ೖྗ͕ඞཁ͔Ͳ͏͔ɺ࠶ݕ౼ͯ͠ΈΑ͏ʂ
·ͱΊzxcvbnΛ׆༻ͯ͠ύεϫʔυڧνΣοΧʔΛ࣮͠Α͏ʂ
͋Γ͕ͱ͏͍͟͝·ͨ͠ɻʂ@uidev1116