4. μ΄μ체μ λͺ λ Ή μ€ν
<κ°μ>
β μ΄μ체μ λͺ λ Ή μ€νμ΄λ?
μ΄μ체μ λͺ λ Ή μ€νμ΄λ μΉμμ μμ€ν λͺ λ Ήμ΄μΈ system(), exec() λ±μ μ€νμν¬ μ μλ νκ²½μ μ 곡ν λμμκ² μ€νλλ μ·¨μ½μ μ΄λ€. μ¬μ©μ μ λ ₯κ°μ λν νν°λ§μ΄ μ λλ‘ μ΄λ£¨μ΄μ§μ§ μμ λ, 곡격μκ° μνλ μ΄μ체μ μμ€ν λͺ λ Ήμ΄ μ€νμ΄ κ°λ₯νλ€. λΆμ μ νκ² κΆνμ΄ λ³κ²½λκ±°λ μμ€ν λμμ μ μν₯μ μ€ μ μλ€.
μΆμ² [ν°μ€ν 리]
β μ κ²λ΄μ©
μΉ μ¬μ΄νΈ λ΄ μ΄μ체μ λͺ λ Ή μ€ν μ·¨μ½μ μ‘΄μ¬ μ¬λΆ μ κ²
β μ κ²λͺ©μ
μ μ ν κ²μ¦μ μ°¨λ₯Ό κ±°μΉμ§ μμ μ¬μ©μ μ λ ₯ κ°μ μν΄ μλνμ§ μμ μμ€ν λͺ λ Ήμ΄κ° μ€νλλ κ²μ λ°©μ§νκΈ° μν¨
β 보μμν
ν΄λΉ μ·¨μ½μ μ΄ μ‘΄μ¬νλ κ²½μ°, λΆμ μ νκ² κΆνμ΄ λ³κ²½λκ±°λ μμ€ν λμ λ° μ΄μμ μ μν₯μ μ€ κ°λ₯μ±μ΄ μμΌλ―λ‘ "|", "&", ";", "`" λ¬Έμμ λν νν°λ§ ꡬνμ΄ νμν¨
<μ κ²λμ λ° νλ¨κΈ°μ€>
β λμ
μΉ μ ν리μΌμ΄μ μμ€μ½λ, μΉ λ°©νλ²½
β νλ¨κΈ°μ€
μνΈ : μμμ λͺ λ Ήμ΄ μ λ ₯μ λν κ²μ¦μ΄ μ΄λ£¨μ΄μ§λ κ²½μ°
μ·¨μ½ : μμμ λͺ λ Ήμ΄ μ λ ₯μ λν΄ λͺ λ Ήμ΄ μ€νλλ κ²½μ°
β μ‘°μΉλ°©λ²
μ·¨μ½ν λ²μ μ μΉ μλ² λ° μΉ μ ν리μΌμ΄μ μλ²λ μ΅μ λ²μ μΌλ‘ μ λ°μ΄νΈλ₯Ό μ μ©ν΄μΌ νλ©°, μ ν리μΌμ΄μ μ μ΄μ체μ λ‘λΆν° λͺ λ Ήμ΄λ₯Ό μ§μ μ μΌλ‘ νΈμΆνμ§ μλλ‘ κ΅¬ννλ κ² μ’μ§λ§, λΆλμ΄νκ² μ¬μ©ν΄μΌ ν κ²½μ° μμ€ μ½λλ μΉ λ°©νλ²½μμ νΉμλ¬Έμ, νΉμ ꡬ문μ λν κ²μ¦μ ν μ μλλ‘ μ‘°μΉν΄μΌ ν¨
<μ κ² λ° μ‘°μΉ μ¬λ‘>
β μ κ²λ°©λ²
Step 1) μλ¬ νμ΄μ§ λλ HTTP μλ΅ ν€λμ λ ΈμΆλλ μΉ μλ² λ²μ μ 보λ₯Ό μμ§νμ¬, μ΄μ체μ λͺ λ Ή μ€ν κ΄λ ¨ μλ €μ§ μ·¨μ½μ κ²μ
Step 2) μΉ μ ν리μΌμ΄μ μ μ λ¬λλ νλΌλ―Έν° κ°μ 곡κ°μ μΌλ‘ μλ €μ§ μ΄μ체μ λͺ λ Ή μ€ν μ½λ μ½μ ν λͺ λ Ήμ΄κ° μ€νλλμ§ νμΈ