2009-03-24 3 views
0

파일 권한이 440 인 경우 PHP fopen이 파일을 읽기 위해 열리지 않습니다. 파일에 444 권한을 부여하고 싶지 않아 URL을 통해 직접 액세스 할 수 없습니다.php fopen이 파일을 열지 않기 때문에 읽을 권한이 world/public에 주어지지 않았습니까?

+0

파일의 소유자와 그룹은 누구입니까? –

+0

호스트 된 env입니다. 따라서 파일을 만드는 사용자, 즉 나는 내가 모르는 소유자이자 그룹입니다. –

답변

1

으로 할 수 있습니다. tj111에서 제안하는대로 .htaccess로 차단하십시오.

하지만 더 나은 아이디어는 www 루트 외부에 배치하는 것입니다.

당신의 PHP 파일을 /집에있는 경우 예를 들어

/사용자/public_html을/, 예를 들어, 제한된 액세스하여 파일을 넣어   /home/사용자 /에을 포함하면 644 (rw-r--r--)입니다. 디렉터리 사용 권한을 711 (rwx--x--x)으로 제한 할 수 있으므로 아무도 있지만 어떤 파일이 있는지 볼 수 있습니다. PHP를 사용하여이 파일을 읽거나 포함하는 것을 막을 수는 없습니다.

2

PHP와 함께 Apache를 사용한다고 가정하면이 문제를 해결하는 가장 쉬운 방법은 Apache를 사용하여 파일에 대한 액세스를 제한하는 것이지만 전역 읽기 액세스를 허용하는 것입니다. 이 작업을 수행하는 방법은 자신의 디렉토리에-출입 금지 원하는 모든 파일을 보관하고, htaccess로 파일이 넣어 :

이제
Order Allow , Deny 
Deny from all 

액세스하려고하면 글로벌 읽기 권한이 수 있지만, 웹에서 직접 파일을 열면 권한 거부 오류가 발생합니다.

관련 문제