반응형
개요
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)
참고
- https://www.php.net/manual/en/filesystem.configuration.php#ini.allow-url-include
(이 주소에서 보면서 대충 이해한 것을 끄적였음)
반응형
'개발 > PHP' 카테고리의 다른 글
[php] javascript boolean 값 받을 때 문제. (0) | 2019.02.20 |
---|---|
[PHP] 클라우드 플레어 유저 아이피 HTTP_CF_CONNECTING_IP (1) | 2017.02.18 |
[PHP][mysql] inet_aton('::1') 에러 (0) | 2017.02.11 |
[코드이그나이터 Codeigniter] Codeigniter 로 알아본 redirect location refresh 의 차이 (0) | 2017.01.19 |
[PHP] PDO BindValue 와 BindParam 의 차이 (0) | 2016.02.09 |
[PHP] strpos, stripos (0) | 2016.01.19 |
[codeigniter] xss_clean (0) | 2015.10.04 |
[이클립스]cannot create linked resource '/.org.eclipse.dltk.core.external.folders/.link1'. the parent resource is not accessible. (0) | 2015.07.17 |