>백엔드 개발 >PHP 문제 >PHP를 사용하여 요청 받기를 비활성화하는 방법

PHP를 사용하여 요청 받기를 비활성화하는 방법

PHPz
PHPz원래의
2023-03-24 17:09:511660검색

PHP는 널리 사용되는 서버 측 프로그래밍 언어로서 웹 애플리케이션을 구축하는 데 널리 사용됩니다. PHP를 사용하여 웹 애플리케이션을 개발할 때 보안을 보장하는 것이 매우 중요합니다. HTTP 요청에는 GET과 POST의 두 가지 유형이 있고, GET 요청에는 클라이언트가 URL로 보낸 요청 매개변수가 포함되어 있으므로 GET 요청을 금지하여 웹 애플리케이션의 보안을 강화할 수 있습니다. 이 기사에서는 PHP를 통해 GET 요청을 억제하는 방법에 대해 설명합니다.

1단계: 요청 유형 쿼리

PHP 스크립트를 작성할 때 $_SERVER['REQUEST_METHOD'] 매개변수를 사용하여 현재 요청 유형을 확인할 수 있습니다. GET 요청인 경우 이 매개변수의 값은 'GET'이 되고, POST 요청인 경우 해당 값은 'POST'가 됩니다. 따라서 코드 시작 부분에 다음 판단문을 추가할 수 있습니다.

if ($_SERVER['REQUEST_METHOD'] == 'GET') {
  header('HTTP/1.1 405 Method Not Allowed');
  exit;
}

이 코드는 먼저 현재 요청의 유형이 GET인지 쿼리하는 경우 'HTTP/1.1 405 Method Not Allowed' 오류를 반환합니다. 코드를 작성하고 스크립트 구현을 중지합니다.

2단계: $_GET 배열 비활성화

PHP에서 $_GET는 요청 URL에 전달된 매개변수를 포함하는 연관 배열입니다. 악의적인 GET 요청을 방지하기 위해 스크립트 시작 부분에서 unset() 함수를 사용하여 $_GET 배열을 빈 배열로 설정할 수 있습니다.

$_GET = array();

이렇게 하면 $_GET 배열이 비활성화되고 누구도 URL에 매개변수를 전달하지 못하게 됩니다. .

3단계: $_GET 대신 $_POST 사용

PHP에서는 $_POST 배열을 사용하여 POST 요청에 데이터를 저장할 수 있습니다. PHP 페이지에 데이터를 보내야 하고 GET 요청을 통해 해당 페이지에 액세스할 수 없도록 하려면 GET 요청 대신 POST 요청을 사용할 수 있습니다.

예를 들어 이전에 URL에 매개변수를 사용하여 검색 키워드를 전달했다면 이제 대신 숨겨진 필드를 사용할 수 있습니다.

<form method="post" action="search.php">
  <input type="text" name="keyword">
  <input type="submit" value="Search">
</form>

이 예에서는 GET 요청 대신 POST 요청을 사용하여 검색을 요청합니다. PHP 페이지에서는 $_GET['keyword']를 사용하는 대신 $_POST['keyword']를 사용하여 검색 키워드를 가져옵니다.

요약하자면, GET 요청을 비활성화하는 것은 웹 애플리케이션의 보안을 강화하는 효과적인 방법입니다. 위의 3단계를 통해 악의적인 사용자가 GET 요청을 사용하여 애플리케이션을 공격하는 것을 효과적으로 방지할 수 있습니다.

위 내용은 PHP를 사용하여 요청 받기를 비활성화하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.