>백엔드 개발 >PHP 문제 >PHP 숨겨진 경로 NGINX: 파일과 디렉터리를 비공개로 유지하세요

PHP 숨겨진 경로 NGINX: 파일과 디렉터리를 비공개로 유지하세요

PHPz
PHPz원래의
2023-04-21 09:12:251032검색

웹사이트의 민감한 정보를 보호하고 사용자 개인정보 및 기밀성을 보장하는 것은 웹 개발 과정에서 중요한 작업입니다. PHP 개발자의 경우 NGINX에서 숨겨진 경로를 설정하여 파일과 디렉터리를 직접 액세스로부터 보호할 수 있습니다. 이 문서에서는 NGINX 숨겨진 경로를 사용하여 PHP 애플리케이션을 보호하는 방법을 설명합니다.

  1. 숨겨진 길이란 무엇인가요?

Hide Path는 PHP 애플리케이션에서 민감한 파일과 디렉터리를 보호하는 데 사용되는 보안 조치입니다. URL에 실제 디렉터리 경로를 숨겨 악의적인 사용자가 이러한 파일과 디렉터리에 액세스하는 것을 더 어렵게 만듭니다. Hidden Path 기술은 NGINX에서 파일 시스템 링크(symlink)를 설정하거나 정규 표현식을 통해 구현할 수 있습니다.

  1. NGINX 및 PHP 설정

숨겨진 경로를 설정하기 전에 서버에 NGINX 및 PHP가 설치되어 있는지 확인해야 합니다. 아직 설치하지 않았다면 아래 단계에 따라 설치할 수 있습니다.

Install NGINX

sudo apt-get update
sudo apt-get install nginx

Install PHP

sudo apt-get install php7.0-fpm
sudo systemctl enable php7.0-fpm.service
sudo systemctl start php7.0-fpm.service

위 단계를 완료하면 NGINX와 PHP가 설치되었습니다. 다음으로 숨겨진 경로를 설정하겠습니다.

  1. 숨겨진 경로 사용

NGINX에서 숨겨진 경로 설정은 주로 지침 위치와 별칭을 사용합니다. 다음은 샘플 구성 파일입니다. 댓글에 설명된 내용을 이해하려면 주의하시기 바랍니다.

server {
    listen 80;
    server_name example.com;
    root /var/www/html;
    # 访问/foo时映射到/var/www/html/bar目录下
    location ^~ /foo/ {
        alias /var/www/html/bar/;
        index index.php;
        try_files $uri $uri/ /foo/index.php?$args;
    }
    # PHP应用程序的处理方式
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

위 샘플 구성 파일에서는 별칭을 통해 /foo 경로를 /var/www/html/bar 디렉터리에 매핑했습니다. 이러한 방식으로 디렉토리 경로 /var/www/html/bar를 URL에서 숨길 수 있습니다. 또한 /foo/abc.php와 같은 /foo 디렉토리의 PHP 파일에 액세스하면 fastcgi_pass 명령을 통해 처리하기 위해 후속 PHP-FPM으로 전달됩니다.

  1. 디렉터리 권한 구성

숨겨진 경로를 사용하는 동안 디렉터리의 권한도 고려해야 합니다. 디렉토리의 권한이 올바르지 않은 경우 다른 방법을 통해 직접 액세스할 수 있습니다. 숨겨진 경로의 보안을 보장하려면 다음 규칙에 따라 디렉터리 권한을 설정해야 합니다.

  • 웹 서버 사용자와 PHP-FPM 사용자 간에 올바른 그룹 권한을 설정합니다.
  • 디렉터리의 소유자를 확인하세요.
  • PHP-FPM 사용자가 파일과 디렉터리를 읽고 쓸 수 있는지 확인하세요.
  • 최소 권한의 원칙을 따르고 필요한 파일과 디렉터리만 승인하세요.
  1. 요약

NGINX의 숨겨진 경로 기능을 설정하면 웹 애플리케이션의 민감한 파일과 디렉터리를 은폐하고 보안을 강화할 수 있습니다. 이 기능을 사용하려면 먼저 NGINX와 PHP가 서버에 설치되어 있는지 확인한 다음 NGINX 구성 파일의 위치 및 별칭 지시문을 통해 설정해야 합니다.

숨겨진 경로를 사용하는 동안 파일과 디렉터리를 더 잘 보호하려면 올바른 디렉터리 권한을 설정하는 것을 잊지 마세요. 이 기술을 사용하면 웹 애플리케이션을 더욱 안전하게 만들고 원치 않는 파일과 디렉터리에 외부인이 액세스하는 것을 방지할 수 있습니다.

위 내용은 PHP 숨겨진 경로 NGINX: 파일과 디렉터리를 비공개로 유지하세요의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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