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
0
190
徳丸本輪読会
4.1
4.2
mcz9mm
July 20, 2017
Tweet
Share
More Decks by mcz9mm
See All by mcz9mm
自己満アプリから脱却するためにした UI改善とは
mcz9mm
1
840
SwiftUI-List-Pagination
mcz9mm
2
2.3k
ARKit2.0でAppleが伝えたいアプリ体験を考える
mcz9mm
2
1.1k
ゆるく学ぶARKit
mcz9mm
3
1.5k
What’s New in ARKit2.0
mcz9mm
0
120
徳丸本 ログインフォーム
mcz9mm
0
110
arkit+animoji
mcz9mm
0
74
徳丸本8
mcz9mm
0
130
徳丸最終回
mcz9mm
0
88
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
34
2.3k
The World Runs on Bad Software
bkeepers
PRO
72
11k
How STYLIGHT went responsive
nonsquared
100
5.9k
The Invisible Side of Design
smashingmag
302
51k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
116
20k
A better future with KSS
kneath
239
18k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Keith and Marios Guide to Fast Websites
keithpitt
411
23k
Context Engineering - Making Every Token Count
addyosmani
8
300
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
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+$/);ɹɹ //֯ӳࣈͷΈ ͳͲͳͲɾɾ