CORS(교차 원본 요청 공유)는 다음을 허용하는 메커니즘입니다. 브라우저는 교차 출처 HTTP 요청을 안전하게 만들어 서로 다른 도메인이나 하위 도메인 간의 통신을 가능하게 합니다. 이 메커니즘은 리소스에 대한 무단 액세스를 방지하여 데이터 개인 정보 보호 및 보안을 보장하는 데 도움이 됩니다.
CORS 흐름을 시연하기 위해 단순화된 PHP 스크립트를 고려해 보겠습니다.
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Headers: *");
이 스크립트는 모든 출처와 헤더의 교차 출처 요청을 허용합니다. 그러나 어떤 경우에는 다음과 같은 오류 메시지가 나타날 수 있습니다.
Request header field X-Requested-With is not allowed by Access-Control-Allow-Headers
CORS 요청을 올바르게 처리하려면 허용되는 헤더를 명시적으로 지정해야 합니다. CORS 요청에 적절하게 응답하는 보다 포괄적인 기능은 다음과 같습니다.
function cors() { if (isset($_SERVER['HTTP_ORIGIN'])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); header('Access-Control-Allow-Credentials: true'); header('Access-Control-Max-Age: 86400'); } if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') { if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) { header("Access-Control-Allow-Methods: GET, POST, OPTIONS"); } if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) { header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); } exit(0); } echo "You have CORS!"; }
1. HTTP_ORIGIN 유효성 검사:
HTTP_ORIGIN 헤더를 받으면 요청을 허용하기 전에 항상 승인된 출처의 화이트리스트와 대조하여 확인하세요.
2. X-Requested-With 유효성 검사:
위 스크립트는 X-Requested-With를 포함한 모든 헤더를 허용합니다. 이는 특히 프로덕션 환경에서 검증되어야 합니다.
3. CORS 사양 읽기:
CORS에 대한 포괄적인 이해를 보려면 공식 사양을 참조하세요.
위 내용은 Cross-Origin 요청 오류를 방지하기 위해 PHP에서 CORS 헤더를 올바르게 구성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!