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
200
0
Share
徳丸本輪読会
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
89
徳丸本8
mcz9mm
0
140
徳丸最終回
mcz9mm
0
93
Featured
See All Featured
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
420
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
27
3.4k
How to Think Like a Performance Engineer
csswizardry
28
2.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
140
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Getting science done with accelerated Python computing platforms
jacobtomlinson
2
170
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
510
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
Believing is Seeing
oripsolob
1
110
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+$/);ɹɹ //֯ӳࣈͷΈ ͳͲͳͲɾɾ