당신이하는 PHP 설치해야하는 각 사용자의 홈 디렉토리에 PHP를 제한하려면 :
- PHP는 사용자 자격 증명으로 실행을
- PHP는 사용자 별 구성을 허용합니다.
일반적인 경우는 PHP를 Apache 모듈로 실행하지 않고 CGI (또는 FastCGI) 설정입니다. 그런 다음 각 사용자에 대해 사용자 정의 php.ini 파일을 제공 할 수 있습니다.
BTW, 나는 그것을 테스트하지만,하지 않은 예상대로 아마 open_basedir = "~"
작품 ...
====== 편집 ======
으로부터 발생하는 일부 해명 OP의 코멘트 : 유닉스 쉘에서
, "~"는 그래서 "현재 사용자의 홈 디렉토리"에 대한 동의어입니다 "/ var에/홈/존"당신은 존을하고는/var에/홈/마이클 "인 경우 "니가 마이클이라면. "var/home/~ /"은 특별한 의미가 없습니다. ~라는 디렉토리입니다.
많은 프로그램이이 셸 규칙을 사용합니다. PHP가 그렇게하는지 모르겠습니다.
CGI는 서버에서 임의의 프로그램을 실행할 수 있으므로 스케이트 보드가 우주 왕복선보다 안전하지 않은 것처럼 정적 HTML보다 안전하지 않습니다. 그러나 우리는 임의의 프로그램을 실행하는 것에 대해 이야기하는 것이 아닙니다 : 우리는 PHP 인터프리터를 실행하는 것에 대해 이야기하고 있습니다. PHP와 환경만큼이나 안전합니다.
이 주제에 관심이 있으시면 FastCGI (향상된 성능의 CGI 구현)에 대한 Google입니다. 많은 호스팅 제공 업체가이를 사용합니다.
open_basedir = 'var/home/~ /'테스트를 통과하지 못했습니다. 답변 주셔서 감사합니다. 각 사용자에 대해 사용자 정의 php.ini를 제공하기위한 CGI 설정에 도움이되는 URL을 보내시겠습니까? 마지막 질문 : CGI에 보안 문제가 있다고 들었습니다. 그게 사실이야? 다시 한 번 감사드립니다. – ONSC
고맙습니다. – ONSC