2014-10-06 10 views
1

특정 코딩 문제가 아니지만 사람들이 PHP 파일이 아닌 777 개의 서버 파일에 대해 이야기하는 곳을 검색하는 모든 스레드는 PHP가 아닙니다.file_put_contents()는 위험한 777 액세스가 필요합니다.

나는 보안상의 이유로 서버에 777 파일 사용 권한을 설정하면 안된다는 것을 알고 있습니다. file_put_contents()과 같은 PHP 파일 쓰기 코드를 사용하는 더 안전한 방법이 있습니까? 서버에서 파일 persmissions를 설정하지 않으면 코드가 작동하지 않고 오류가 발생합니다.

+1

755 일 수도 있습니다. – iatboy

+0

666이면 충분합니까? 또한 파일 소유자 (웹 서버 사용자 확인)를 변경하는 것이 더 낫습니다. – sectus

+0

보안 문제는 무엇입니까? 서버의 기본 설정이 웹 서버가 파일에 기록하지 못하는 것 같습니다. 글을 쓰고 싶다면이 권한을 분명히 변경해야합니다. 디렉토리의 경우'777 '이 필요하고,'666'파일이면 충분합니다. – hanzi

답변

0

일반적으로 필요한 최소 권한 만 부여해야합니다.

실행 파일이 필요한 파일의 경우 일반적으로 755 (drwxr-xr-x) 또는 750, 파일 644 (-rw-r - r--)으로 설정해야합니다. 일부 환경은 종종 훨씬 낮은 수준으로 설정되는 권한을 갖고 있지 않다는 것을 의미하지는 않습니다. 즉, 사용자 및 그룹이 파일이나 디렉토리를 소유하고 있는지에 따라 다릅니다.

업로드 디렉토리는 때로는 항목을 업로드하는 위치와 동일한 디렉토리에서 스크립트를 실행해서는 안되지만 777로 설정해야 할 수도 있습니다. 그 이유는 가능한 공격 경로의 범람을 열 수 있기 때문입니다. 업로드 할 수있는 것을 실행해야한다면 mv 또는 cp을 다른 디렉토리에 넣은 다음 실행하십시오.

+0

내 스크립트 및 업로드 된 (공용) 파일은 별도의 디렉토리에 있습니다. 내가 궁금한 점은 어떤 식 으로든 해를 끼칠 수 있다는 것인가? 왜냐하면이 특정 서버에 파일을 쓰려고하면 755 오류가 반환되기 때문입니다. – LazyPeon