>  기사  >  백엔드 개발  >  PHP에서 디렉토리 목록을 금지하는 방법

PHP에서 디렉토리 목록을 금지하는 방법

PHPz
PHPz원래의
2020-09-25 13:59:382721검색

PHP에서 디렉토리 목록을 금지하는 방법: 먼저 "httpd.conf" 파일을 찾아서 연 다음 "Options Indexes FollowSymLinks"에서 "Indexes" 앞에 "-" 기호를 추가합니다.

PHP에서 디렉토리 목록을 금지하는 방법

권장: "PHP Video Tutorial"

Apache에서 디렉터리 파일 목록 표시를 비활성화하는 구성 방법

가상 디렉터리 주소를 입력하는 경우: http://localhost:8080/b/

가상 디렉터리에 index.html이 없으면 브라우저는 가상 디렉터리의 디렉터리 구조도 표시하고 가상 디렉터리의 파일과 하위 디렉터리를 나열합니다.

아파치가 디렉토리 목록을 표시하지 못하도록 비활성화하는 방법은 무엇입니까?

Apache가 디렉터리 구조 목록을 표시하지 않도록 하려면 옵션에서 인덱스를 제거하세요.

예를 들어 디렉터리의 디렉터리 구성을 살펴보겠습니다.

<Directory "D:/Apa/blabla">
    Options Indexes FollowSymLinks #----------> Options  FollowSymLinks AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

아파치가 디렉터리 구조를 표시하지 못하도록 하려면 위의 빨간색 코드에서 인덱스만 제거하면 됩니다. 사용자는 이 디렉터리의 파일 및 하위 디렉터리 목록을 볼 수 없습니다.

인덱스의 기능은 디렉터리에 index.html 파일이 없을 때 디렉터리 구조를 표시하는 것입니다. 인덱스가 제거되면 Apache는 디렉터리 목록을 표시하지 않습니다.

이렇게 설정하면 디렉토리 목록이 계속 표시될 수 있습니다.

<Directory / >
    Options  FollowSymLinks AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

두 번째 방법

httpd.conf 파일 편집 httpd.conf 파일 편집

vi ./conf/httpd.conf

다음 내용 찾기:

……
<Directory “C:/Program Files/Apache2.2/htdocs”>
    #
    # Possible values for the Options directive are “None”, “All”,
    # or any combination of:
     Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
    #
    # Note that “MultiViews” must be named *explicitly* — “Options All”
    # doesn’t give it to you.
    #
    # The Options directive is both complicated and important. Please see
    # http://httpd.apache.org/docs/2.2/mod/core.html#options
    # for more information.
    #
    Options Indexes FollowSymLinks
    #
    # AllowOverride controls what directives may be placed in .htaccess files.
    # It can be “All”, “None”, or any combination of the keywords:
    #   Options FileInfo AuthConfig Limit
    #
    AllowOverride None
    #
    # Controls who can get stuff from this server.
    #
    Order allow,deny
    Allow from all
</Directory>
……

Add in 옵션 색인 색인 – 기호 앞의 FollowSymLinks.

즉: 옵션 -Indexes FollowSymLinks

[참고: 디렉토리 탐색을 허용하려면 색인 앞에 +를 추가하고, 디렉토리 탐색을 금지하려면 -를 추가하세요. 】

이 경우 Apache 전체가 디렉토리 탐색을 금지합니다.

가상 호스트에 있는 경우 다음 정보를 추가하면 됩니다.

<Directory “D:\test”>
     Options -Indexes FollowSymLinks
     AllowOverride None
     Order deny,allow
     Allow from all
</Directory>

이 경우 테스트 프로젝트 아래의 디렉터리 탐색이 금지됩니다.

참고: "모두 허용"을 "모두 거부"로 변경하지 마세요. 그렇지 않으면 전체 웹사이트를 열 수 없습니다.

또 다른 방법이 있습니다:

루트 디렉터리의 .htaccess 파일에

<Files *>
Options -Indexes
</Files>

를 입력하면 Apache가 디렉터리 구조를 나열하지 못하게 할 수 있습니다.

위 내용은 PHP에서 디렉토리 목록을 금지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.