1.
초기 설정 및 헤더:
필요한 파일들을 include합니다 (lib_adseting.php, passback_list.php, bot.php).
CORS(Cross-Origin Resource Sharing) 관련 헤더를 설정합니다.
OPTIONS 요청에 대한 처리를 합니다.
2.
요청 파라미터 처리:
pageid, campaignid, bannerid 등의 파라미터를 $_REQUEST에서 가져옵니다.
특정 조건(pageid가 ‘0H2V’이고 국가가 한국이 아닌 경우)에 대한 처리를 합니다.
3.
광고 소스(adsp) 설정:
adsp 파라미터에 따라 다른 ads_data_key를 설정합니다.
4.
쿠키 처리:
gaduuidv라는 쿠키를 확인하고, 없으면 새로 생성합니다.
5.
Redis 연결 및 데이터 처리:
Redis에 연결하여 여러 데이터를 조회하고 저장합니다.
사용자 클릭 데이터, IP 기반 데이터 등을 확인합니다.
노출 통계를 업데이트합니다.
6.
광고 데이터 가져오기:
get_addata 함수를 사용하여 광고 데이터를 가져옵니다.
가져온 데이터를 파싱하고 처리합니다.
7.
광고 아이템 정보 구성:
가져온 데이터를 기반으로 광고 아이템 배열을 생성합니다.
8.
페이지 렌더링:
$ra[$ri]에 지정된 파일을 include하여 실제 광고 페이지를 렌더링합니다.
9.
광고 노출 추적 스크립트:
JavaScript를 사용하여 광고 노출을 추적하는 코드를 삽입합니다.
Intersection Observer API를 사용하여 광고가 화면에 보이는지 감지합니다.
10.
오류 처리:
여러 단계에서 try-catch 구문을 사용하여 오류를 처리합니다.
11.
마무리:
page_end.php 파일을 include하여 페이지를 마무리합니다.
이 코드는 광고 서버의 핵심 로직을 담고 있으며, 사용자 요청에 따라 적절한 광고를 선택하고 표시하는 역할을 합니다. Redis를 사용하여 데이터를 캐싱하고, 다양한 조건에 따라 광고 소스를 선택하며, 광고 노출을 추적하는 등 복잡한 기능을 수행합니다.