2012-06-19 2 views
1

cakePHP 애플리케이션을 사용하여 배포 프로세스를 시도하고 있습니다. 내 웹 루트 폴더에 대한 액세스를 비활성화하는 방법을 파악하기 위해 고심하고 있습니다. 예를 들어cakephp의 웹 루트에서 사용자 리디렉션

, 사용자가 그들 사이트에서 사용되는 모든 이미지의 목록을 볼 수있는 URL이 페이지에 액세스하려고하면 나는 웹 루트/이미지

에서 사이트의 모든 이미지를 가지고있다. webroot/js, webroot/css 등에서 동일한 작업을 수행합니다.

URL을 통해 해당 폴더에 대한 액세스를 어떻게 비활성화합니까?

감사합니다.

+0

Burzum의 대답은 정확하지만 웹 루트 디렉토리의 디렉토리 목록은 실제로 보안 위험이 아니라는 점을 지적하고 싶습니다. 공개적으로 사용하기위한 것이 아니며 디렉토리 목록을 끈 경우에도 사용자가 HTML을 구문 분석하여 모든 파일 목록을 컴파일 할 수 있습니다. 다시 말하지만, 이것은 보안상의 위험이 아닙니다. 이미지, CSS, JavaScript 등은 공개되어 있어야합니다. 만약 그렇지 않다면, 당신의 webroot 밖으로 이동하십시오! – Joseph

+0

아마도 보안 위험은 아니지만 webroot 폴더에 대한 iframe 링크가 손상되어 약간의 불편 함을 겪었습니다. 파일 목록을 표시하는 것보다 아무것도 표시하지 않거나 오류 메시지를 표시하는 것이 좋을 것입니다. – tyjkenn

+0

@tykenn 그것이 내가 생각한 것입니다. 모든 정보는 공개되어 있으므로 민감한 정보는 없습니다. – tnichols

답변

2

디렉토리 목록을 사용 중지 하시겠습니까? 또는 이미지 자체에 대한 액세스를 거부합니까?

아파치 : http://www.htaccess-guide.com/disable-directory-listings/

Nginx에 : nginx를위한 http://nginxlibrary.com/enable-directory-listing/

링크가 가능하기 만 아니라, 유일한 차이점은 ON/OFF 설정 될 방법에 대한 것입니다.

사용자가 직접 이미지에 액세스 할 수 없도록하려면 스크립트를 통해 전달해야합니다 (CakePHP MediaView 클래스 확인). 웹 루트에 넣지 마십시오.