2014-09-12 5 views
1

PHP의 cURL 라이브러리는 서버 관리자가 open_basedir으로 설정 한 경우 다음 HTTP 리디렉션을 허용하지 않습니다. 많은 질문이 있으므로 curl follow location error과 같은 질문이 많으며 대다수의 답변은 "open_basedir을 끌 수있는 호스팅 제공 업체로 전환"또는 abstraction inversions (다양한 수준의 품질로) 시도하여 cURL의 HTTP 리디렉션 논리를 다시 구현합니다. PHP.CURLOPT_FOLLOWLOCATION이 open_basedir과 호환되지 않는 이유는 무엇입니까?

왜 PHP 개발자가 처음부터 상호 배타적으로 만들 었는지 궁금합니다. 서버 관리자가 open_basedir으로 설정했을 때 PHP가 HTTP 또는 HTTPS URI에서 다른 HTTP 또는 HTTPS URI로 리디렉션을 따르지 않는 보안 정책은 무엇입니까?

답변

4

libcurlLocation: file:// 리디렉션을 무시하지 않았기 때문에 원래 구현되었습니다. curl 또한 로컬 파일 액세스를 허용하기 때문에 basedir 제약 조건을 벗어 났을 것입니다.

이 설계 "호환성"

은 BTW, 최신 버전에서 풀되었다

+0

그리고 변화의 근원이었다 https://bugs.php.net/ bug.php? id = 30609 – mario

관련 문제