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
徳丸本輪読会
Search
mcz9mm
July 20, 2017
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
徳丸本輪読会
4.1
4.2
mcz9mm
July 20, 2017
More Decks by mcz9mm
See All by mcz9mm
自己満アプリから脱却するためにした UI改善とは
mcz9mm
1
1.1k
SwiftUI-List-Pagination
mcz9mm
2
2.4k
ARKit2.0でAppleが伝えたいアプリ体験を考える
mcz9mm
2
1.2k
ゆるく学ぶARKit
mcz9mm
3
1.5k
What’s New in ARKit2.0
mcz9mm
0
140
徳丸本 ログインフォーム
mcz9mm
0
120
arkit+animoji
mcz9mm
0
96
徳丸本8
mcz9mm
0
140
徳丸最終回
mcz9mm
0
98
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
180
Navigating Team Friction
lara
192
16k
Odyssey Design
rkendrick25
PRO
2
690
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Invisible Side of Design
smashingmag
302
52k
The Pragmatic Product Professional
lauravandoore
37
7.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
140
Building AI with AI
inesmontani
PRO
1
1.1k
Transcript
ಙؙຊྠಡձ 4.1 WebΞϓϦέʔγϣϯͷػೳͱ੬ऑੑͷ ରԠ
੬ऑੑͷൃੜͱ໊শ • HTMLͷग़ྗ(ΫϩεαΠτεΫϦϓςΟϯά) • HTTPϔομͷग़ྗ(HTTPϔομΠϯδΣΫγϣϯ) • SQLͷݺͼग़͠(SQLΠϯδΣΫγϣϯ) • γΣϧίϚϯυͷݺͼग़͠(OSίϚϯυΠϯδΣΫγϣϯ) •
ϝʔϧϔομٴͼຊจͷग़ྗ(ϝʔϧϔομΠϯδΣΫγϣϯ)
ΠϯδΣΫγϣϯܥ੬ऑੑͱ • webΞϓϦέʔγϣϯͷ΄ͱΜͲ͕ςΩετ ܗࣜͷΠϯλʔϑΣʔεΛ༻͍ͯ͠Δ
͜ΕΒͷςΩετɺܾΊΒΕͨจ๏ɾϧʔϧͳͲʹ ΑΓɺͦͷதʹ໋ྩԋࢉɺσʔλ͕ೖ͍ͬͯΔ SELECT * FROM idol WHERE id = ‘$id'
͜ͷ$idʹςΩετͱͯ͠ɺҎԼͷจষΛ༩͑ͯΈΔ ';DELETE FROM users;'
֎෦͔Βྲྀ͠ࠐ·ΕͨςΩετ໋ྩͱͯ͠ଊ͑ΒΕ ͯ͠·͏ SELECT * FROM idol WHERE id = ';DELETE
FROM users;'
ಙؙຊྠಡձ 4.2 ೖྗॲཧͱηΩϡϦςΟ
webΞϓϦέʔγϣϯͰͷೖྗͰԿΛ͢Δ͔ • จࣈΤϯίʔσΟϯάͷଥੑݕূ • จࣈΤϯίʔσΟϯάͷม • ύϥϝʔλจࣈྻͷଥੑݕূ
PHPΛྫʹ͢Δͱɺೖྗ͞Εͨจࣈ͕ෆਖ਼ͳจࣈΤϯίʔσΟϯ άͰͳ͍͔ม͢Δ͜ͱ͕Ͱ͖Δɻ ͨͩɺෆਖ਼ͳσʔλআ͞ΕΔ͔ผͷจࣈʹஔ͖ΘΔͷͰɺ ݁Ռͱͯ͠߈ܸ͛Δ͕ɺ จࣈ͕Խ͚ͨ··ར༻ऀ͕ؾ͕͔ͭͣʹॲཧΛܧଓΛͯ͠͠·ͬ ͨΓ͢Δ
ೖྗͷݕূ • ೖྗͷؒҧ͍Λૣظʹൃݟͯ͠࠶ೖྗΛଅͨ͠Γɺ ϢʔβʔϏϦςΟΛ্͢Δ͜ͱ͕Ͱ͖Δ • σʔλͷෆ߹Λ͗ɺγεςϜͷ৴པੑΛ্͞ ͤΔ
όΠφϦηʔϑͱψϧόΠτ • ςΩετܗࣜʢจࣈσʔλʣҎ֎ͷσʔλܗ ࣜશൠͷ͜ͱɻόΠφϦܗࣜͷσʔλΛόΠ φϦσʔλͱ͍͏
όΠφϦηʔϑͱψϧόΠτ • ψϧόΠτ߈ܸͱɺԿΒ͔ͷϦΫΤετ͞Εͨ จࣈྻʹ%00(ψϧόΠτ)ΛؚΊΔ͜ͱͰɺWeb ΞϓϦέʔγϣϯଆͷηΩϡϦςΟʔνΣοΫΛ ͙͘Γൈ͚Δ߈ܸ • PHPࣗମCݴޠͰॻ͔Ε͍ͯΔΒ͘͠ɺPHPͱC ͷψϧόΠτʹର͢Δѻ͍͕ҧ͏ؔͷʮͶ͡Εʯ Λར༻ͨ͠߈ܸ
• ೖྗ͞ΕͨೖΓޱͰόΠφϦηʔϑͷؔΛ ༻͍ͯνΣοΫ͢Δ
όΠφϦηʔϑͱψϧόΠτ • ψϧόΠτ߈ܸͱɺԿΒ͔ͷϦΫΤετ͞Εͨ จࣈྻʹ%00(ψϧόΠτ)ΛؚΊΔ͜ͱͰɺWeb ΞϓϦέʔγϣϯଆͷηΩϡϦςΟʔνΣοΫΛ ͙͘Γൈ͚Δ߈ܸ • PHPࣗମCݴޠͰॻ͔Ε͍ͯΔΒ͘͠ɺPHPͱC ͷψϧόΠτʹର͢Δѻ͍͕ҧ͏ؔͷʮͶ͡Εʯ Λར༻ͨ͠߈ܸ
จࣈࣗମͷνΣοΫෆՄܽ • ʮͯ͢ͷจࣈΛڐՄʯ͢Δ͜ͱࣗମϦεΫ • จࣈνΣοΫ੍ޚจࣈͷνΣοΫ
ਖ਼نදݱͰݕূ͢Δ • value.match(/[a-zA-Z]/); //ӳࣈͷΈ • value.match(/^\d+$/);ɹɹ //֯ӳࣈͷΈ ͳͲͳͲɾɾ