GET 요청은 주로 URL 매개 변수를 통해 데이터를 전달하는 서버에서 데이터를 얻는 데 사용됩니다. PHP에서 $ _get hyperglobal 어레이는 GET 요청에 전달 된 매개 변수를받는 데 사용됩니다.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-comment">// 있는지 확인하십시오 GET 요청 된 매개 변수</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>])) {
</span><span><span class="hljs-variable">$name</span></span><span> = </span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'name'</span></span><span>]; </span><span><span class="hljs-comment">// 얻다 GET 요청의 매개 변수 'name'</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Hello, "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$name</span></span><span>); </span><span><span class="hljs-comment">// 산출 'Hello, <name>'</span></span><span>
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"No name provided!"</span></span><span>;
}
}
</span></span>
위의 코드에서 $ _get [ 'name']는 URL에서 매개 변수를 가져옵니다. URL이 example.com/?name=john 인 경우 출력은 다음과 같습니다.
<span><span>Hello, John
</span></span>
GET 요청을 처리 할 때, 특히 사용자가 입력 한 데이터를 처리 할 때 보안은 반드시 고려됩니다. XSS 공격을 피하려면 HTMLSpecialchars () 함수를 사용하여 출력 데이터를 인코딩하는 것이 매우 중요합니다. 이 함수는 사용자 입력에서 HTML 태그를 벗어나 악성 코드의 주입을 피합니다.
게시물 요청은 일반적으로 데이터를 서버로 보내는 데 사용됩니다. 특히 양식 데이터를 제출 해야하는 경우. PHP에서 $ _post Hyperglobal 어레이는 게시물 요청의 데이터를 수신하는 데 사용됩니다.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-comment">// 있는지 확인하십시오 POST 묻다</span></span><span>
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>]) && </span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'password'</span></span><span>])) {
</span><span><span class="hljs-variable">$username</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'username'</span></span><span>];
</span><span><span class="hljs-variable">$password</span></span><span> = </span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'password'</span></span><span>];
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Username: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$username</span></span><span>) . </span><span><span class="hljs-string">"<br>"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Password: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$password</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Please fill in the required fields!"</span></span><span>;
}
}
}
</span></span>
이 예에서는 게시물 요청 된 데이터는 $ _post [ 'username'] 및 $ _post [ 'password'] 에 의해 얻어집니다. 포스트 요청을 통해 양식이 제출되면 출력은 사용자 이름과 비밀번호를 표시합니다.
사후 요청을 처리 할 때 사용자 입력은 예상되지 않거나 악의적 인 코드를 전달할 수 있습니다. 일반적으로 데이터 검증 및 정리를 수행해야합니다. 예를 들어, 특정 형식을 충족하는지 등 사용자 입력이 비어 있는지 확인할 수 있습니다.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'email'</span></span><span>])) {
</span><span><span class="hljs-variable">$email</span></span><span> = </span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'email'</span></span><span>], FILTER_SANITIZE_EMAIL);
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-title function_ invoke__">filter_var</span></span><span>(</span><span><span class="hljs-variable">$email</span></span><span>, FILTER_VALIDATE_EMAIL)) {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Valid email: "</span></span><span> . </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$email</span></span><span>);
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Invalid email format!"</span></span><span>;
}
} </span><span><span class="hljs-keyword">else</span></span><span> {
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Email is required!"</span></span><span>;
}
}
}
</span></span>
이 코드에서는 Filter_var () 함수를 사용하여 이메일 주소를 정리하고 확인하여 형식이 유효한지 확인합니다.
때로는 GET 및 POST 요청을 처리해야합니다. 요청을 더 잘 관리하기 위해, 요청 방법은 기본 기능에서 동시에 판단되고 다른 요구에 따라 별도로 처리 될 수 있습니다.
<span><span><span class="hljs-function"><span class="hljs-keyword">function</span></span></span><span> </span><span><span class="hljs-title">main</span></span><span>(</span><span><span class="hljs-params"></span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'POST'</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'message'</span></span><span>])) {
</span><span><span class="hljs-variable">$message</span></span><span> = </span><span><span class="hljs-title function_ invoke__">htmlspecialchars</span></span><span>(</span><span><span class="hljs-variable">$_POST</span></span><span>[</span><span><span class="hljs-string">'message'</span></span><span>]);
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Received POST message: "</span></span><span> . </span><span><span class="hljs-variable">$message</span></span><span>;
}
} </span><span><span class="hljs-keyword">elseif</span></span><span> (</span><span><span class="hljs-variable">$_SERVER</span></span><span>[</span><span><span class="hljs-string">'REQUEST_METHOD'</span></span><span>] === </span><span><span class="hljs-string">'GET'</span></span><span>) {
</span><span><span class="hljs-keyword">if</span></span><span> (</span><span><span class="hljs-keyword">isset</span></span><span>(</span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>])) {
</span><span><span class="hljs-variable">$id</span></span><span> = </span><span><span class="hljs-title function_ invoke__">intval</span></span><span>(</span><span><span class="hljs-variable">$_GET</span></span><span>[</span><span><span class="hljs-string">'id'</span></span><span>]); </span><span><span class="hljs-comment">// 얻다 GET 묻다中的 id 매개 변수</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"Requested GET ID: "</span></span><span> . </span><span><span class="hljs-variable">$id</span></span><span>;
}
}
}
</span></span>
이 예에서 PHP는 요청 유형에 따라 게시물 요청 또는 GET 요청에서 메시지를 처리할지 여부를 결정합니다.
PHP는 $ _get 및 $ _post Hyperglobal 어레이를 사용하여 Get 및 Post 요청을 쉽게 처리 할 수 있습니다. URL 매개 변수를 얻거나 양식 데이터를 제출하든 기본 기능에서 논리적 처리를 수행 할 수 있습니다. 실제 개발에서 SQL 주입 및 XSS 공격과 같은 보안 위험을 방지하기 위해 사용자가 입력 한 컨텐츠가 확인되고 청소되었는지 확인하기 위해 요청을 처리 할 때 특별한주의를 기울여야합니다.