PHP에서 특히 HTTPS 프로토콜을 사용할 때 스트림을 통해 원격 HTTP 요청을해야 할 때 SSL 인증서 구성이 특히 중요합니다. PHP는 Stream_Context_get_options () 함수가 매우 유용한 도구 인 SSL 인증서의 구성을 관리하고 확인하는 다양한 방법을 제공합니다.
stream_context_get_options () 함수를 사용하면 지정된 스트림 컨텍스트에 대한 모든 옵션을 얻을 수 있습니다. 스트림 컨텍스트는 SSL 설정, 프록시 설정 등과 같은 스트림 작동 옵션을 포함하는 구성 객체입니다.이 기능을 사용하면 SSL 인증서와 관련된 설정을 포함하여 현재 스트림 컨텍스트에서 사용하는 모든 옵션을 볼 수 있습니다.
SSL 인증서와 관련된 설정을 확인하고 가져 오려면 먼저 스트림 컨텍스트를 작성하고 일부 SSL 옵션을 설정해야합니다. 그런 다음 stream_context_get_options () 함수를 통해이 설정을 볼 수 있습니다.
다음은 ssl 인증서의 설정을 확인하기 위해 Stream_Context_get_options () 함수를 사용하는 방법을 보여주는 실제 코드 예제입니다.
<?php
// 설정 SSL 인증서 관련 옵션
$options = [
"ssl" => [
"verify_peer" => true, // 오른쪽을 활성화하십시오 SSL 인증서 확인
"verify_peer_name" => true, // 인증서에서 호스트 이름을 확인하십시오
"allow_self_signed" => false, // 자체 서명 된 인증서는 허용되지 않습니다
"cafile" => "/path/to/cacert.pem", // 지정 CA 인증서 파일
]
];
// 스트림 컨텍스트를 만듭니다
$context = stream_context_create($options);
// 스트림 컨텍스트에 대한 모든 옵션을 얻으십시오
$contextOptions = stream_context_get_options($context);
// 산출 SSL 관련 옵션
echo "<pre>";
print_r($contextOptions);
echo "</pre>";
?>
이 예에서는 ssl 구성을 포함하는 스트림 컨텍스트를 작성하고 stream_context_get_options () 함수를 통해 모든 구성 옵션을 출력합니다. 출력 컨텐츠는 인증서 확인 활성화 여부, 인증서 파일의 경로 등을 포함하여 SSL 옵션 및 상세한 설정을 표시합니다.
SSL 옵션을 설정하십시오 <br> SSL 인증서의 확인 옵션을 포함하여 $ 옵션 배열에서 SSL 구성을 설정합니다.
verify_peer : 인증서 확인을 활성화, 기본값으로 true .
verify_peer_name : 인증서의 호스트 이름이 요청 된 호스트 이름과 일치하는지 확인하십시오.
allow_self_signed : 참된 경우 자체 서명 된 인증서가 허용됩니다. 여기에서 false 로 설정하면 허용되지 않음을 의미합니다.
Cafile : SSL 인증서를 확인하기 위해 CA 인증서 파일의 위치를 지정합니다.
스트림 컨텍스트를 만듭니다 <br> Stream_Context_create () 함수를 사용하여 지정된 SSL 구성으로 스트림 컨텍스트를 만듭니다.
구성 및 출력 구성 옵션 <br> stream_context_get_options () 함수를 통해 스트림 컨텍스트에 대한 모든 옵션을 가져오고 print_r ()를 사용하여 출력을 인쇄하십시오. 이를 통해 SSL 인증서가 올바르게 구성되어 있는지 확인하고 확인하는 데 도움이됩니다.
stream_context_get_options () 에 의해 반환 된 배열에는 SSL 옵션이 포함됩니다. 다음은 몇 가지 일반적인 SSL 구성 옵션입니다.
verify_peer : 인증서 확인을 활성화할지 여부.
verify_peer_name : 인증서에서 호스트 이름을 확인할지 여부.
allow_self_signed : 자체 서명 인증서를 허용할지 여부.
CAFILE : 인증서를 확인하는 데 사용되는 CA 인증서 파일의 경로.
CAPPATH : 인증서를 확인하는 데 사용되는 CA 인증서 디렉토리 경로.
local_cert : 클라이언트 인증서의 경로.
local_pk : 클라이언트의 개인 키로가는 길.
암호 : 클라이언트 인증서의 비밀번호.
SSL 구성의 중요성 <br> 원격 서버와의 통신이 암호화되고 다른 서버의 ID가 확인되도록 올바른 SSL 구성이 중요합니다. 중간의 사람의 공격과 같은 보안 위험을 피하기 위해 적절한 SSL 옵션이 설정되어 있는지 확인하십시오.
서버 측 인증서 문제 <br> 원격 서버에 연결하면 서버의 SSL 인증서가 유효한지 확인하십시오. 인증서에 문제가있는 경우 PHP는 SSL 오류를 던집니다. 따라서 개발 프로세스 중에 SSL 구성이 정확하고 생산 환경에서 문제를 피하는 것이 중요합니다.
URL 사용 <br> 코드에서 URL을 사용하는 경우 도메인 이름 부분을 https://example.com 과 같은 M66.net 으로 바꾸어 지역 개발 환경 및 생산 환경에서 일관성 을 보장하십시오.
stream_context_get_options () 함수를 사용하면 스트림 컨텍스트에서 SSL 구성 옵션을 쉽게 확인하고 얻을 수있어 HTTPS 요청이 안전하고 올바르게 구성되도록합니다.