유저가 내 사이트에 로그인한 상태(세션/쿠키 유지)에서, 서버가 cURL로 동일 도메인의 다른 페이지를 호출할 때 유저의 권한을 그대로 넘겨주는 방법입니다. PHP의 $_COOKIE 글로벌 변수를 활용해 CURLOPT_COOKIE로 주입합니다.
php
// 1. 현재 브라우저가 보낸 쿠키들을 cURL용 문자열 형태로 변환
$cookies = [];
foreach ($_COOKIE as $name => $value) {
$cookies[] = "$name=" . urlencode($value);
}
$cookie_string = implode('; ', $cookies); // 예: "PHPSESSID=abc123xyz; user_id=12"
// 2. cURL 실행 및 쿠키 주입
$ch = curl_init('https://example.com');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// 이 옵션을 통해 브라우저 쿠키를 cURL에 수동으로 심어줍니다.
curl_setopt($ch, CURLOPT_COOKIE, $cookie_string);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
이렇게 하면 동일 도메인에서 curl로 페이지 호출할때 쿠키 정보를 공유해서 사용이 가능하다.
주로, 로그인 권한이 필요한 페이지들의 curl 접근과 같은 경웨 사용이 가능하겠다.