본문 바로가기
개발/PHP

php 의 allow_url_fopen, allow_url_include 옵션

by 언제나초심. 2019. 8. 6.
반응형

개요

php.ini 의 allow_url_fopen 은 file_get_contents 나 include, require 에서 http 로 읽을 수 있게 허용하는 설정값이다.

본문

좋게 말하면, file_get_contents 를 socket 을 안 써도 되게끔 엄청 편리한 함수이지만... 악용이 심하다.

php.ini 에서만 설정할 수 있다고 한다. only set 블라블라.ini_set 으로 설정 변경 못한다는 얘기.

다행히도, allow_url_include 옵션이 하나 더 있는데,

allow_url_fopen (기본값 true) 가 되어있으면, allow_url_include (기본값 false) 옵션이 같이 동작되게 된다.

allow_url_include 옵션은 php 5.2.0 에서 추가되었다고 한다.

allow_url_include 옵션은 include, include_once, require, require_once 에서 url 로 로드가능한지 여부이다. 기본값이 false 이다.

결론은 php 5.2 이상이라면,

기본 설정에서

  • file_get_contents 에서는 외부호출이 가능하고 (allow_url_fopen 이 true)
  • include, require 에서는 외부호출이 불가능하다. (allow_url_include 가 false)

참고

반응형