CodeSOD: 쿠키를 절대 먹지 않기 노트

CodeSOD: 쿠키를 절대 먹지 않기

Maciej는 프리랜서로서 지원이 필요한 레거시 PHP 코드에 자주 직면합니다. 그는 핵심 기능이 누락된 프로젝트를 발견했는데, 특히 주기적으로 데이터를 채우기 위한 HTTP 요청 메커니즘이 없었습니다. 이를 구현하려는 이전 시도는 실패했습니다. 원 개발자는 코드베이스 전체에 걸쳐 유사한 cURL 초기화 및 구성 블록을 여러 번 복사하여 붙여넣었습니다. 수많은 curl_setopt 호출을 포함하는 이 블록들은 HTTP 요청을 만들기 위한 것이었습니다. CURLOPT_TIMEOUT이라는 한 옵션은 $interval이라는 변수를 사용하여 설정되었는데, 이는 아마도 해당 함수의 기능을 잘못 이해했음을 시사합니다. 핵심 문제는 CURLOPT_TIMEOUT의 잘못된 사용이 아니라, curl_exec로 가져온 데이터가 전혀 활용되지 않았다는 점이었습니다. 요청은 작동하는 것처럼 보였지만, 검색된 내용은 $s라는 변수에 저장된 후 무시되었습니다. 이러한 간과로 인해 Maciej는 이전 개발자가 요청을 작동시키지 못한 것이 아니라, 작업을 시작했다가 흥미를 잃었을 가능성이 있다고 생각했습니다. 프로젝트에는 다른 복잡한 코드가 포함되어 있었지만, 이 사용되지 않은 데이터 검색은 Maciej에게 특히 눈에 띄었습니다.