찾다
백엔드 개발PHP 튜토리얼nginx에서 index.php 파일에 대한 액세스 만 허용하는 방법은 무엇입니까?

nginx에서 index.php 파일에 대한 액세스 만 허용하는 방법은 무엇입니까?

nginx 보안 구성 : index.php 파일에 대한 액세스 만 허용됩니다.

이 기사에서는 nginx를 구성하고 index.php 파일에만 액세스 할 수있는 방법에 대해 설명하고 다른 모든 파일 또는 특정 PHP 파일에 대한 액세스를 거부합니다. 이는 서버 보안을 향상시키고 무단 액세스를 방지합니다.

시나리오 및 요구 사항

서버 디렉토리에 여러 PHP 파일 (예 : index.phptest.php )이 있다고 가정하면 index.php 만 액세스 할 수 있고 기타 PHP 파일 및 기타 리소스가 차단되어 있는지 확인해야합니다.

구성 계획

우리는 다양한 요구를 충족시키기 위해 두 가지 구성 솔루션을 제공 할 것입니다.

체계 1 : /index.php 에 대한 액세스 만 허용되며 다른 모든 요청이 거부됩니다.

이 솔루션은 가장 엄격하며 /index.php 제외한 다른 요청이 거부됩니다. 이는 안전 요구 사항이 매우 높은 시나리오에 적합합니다.

 서버 {
    80;
    Server_Name 192.168.16.86;
    루트/홈/wwwroot/웹;

    enable-php.conf 포함;

    위치 = /index.php {
        # Process Index.php 요청 try_files $ uri $ uri / / index.php?$ query_string;
    }

    위치 / {
        모든 것을 거부합니다.
    }

    # ... 다른 위치 블록 (예 : 정적 리소스 처리)을 필요에 따라 유지하거나 제거 할 수 있습니다 ...
}

솔루션 2 : /index.php 및 정적 리소스에 액세스 허용하고 다른 PHP 파일을 거부하십시오.

이 솔루션을 사용하면 정적 자원 (예 : 그림, CSS, JS 등)에 액세스 할 수 있으며 index.php 에만 액세스 할 수 있으며 다른 PHP 파일에 대한 액세스가 거부됩니다. 이것은 실제 응용 분야에서 더 일반적입니다.

 서버 {
    80;
    Server_Name 192.168.16.86;
    루트/홈/wwwroot/웹;

    enable-php.conf 포함;

    위치 / {
        # 정적 자원 요청 처리 try_files $ uri $ uri/ = 404;
    }

    위치 ~ \ .php $ {
        모든 것을 거부합니다.
    }

    위치 = /index.php {
        # Process Index.php 요청 try_files $ uri $ uri / / index.php?$ query_string;
    }

    # ... 다른 위치 블록 (예 : 정적 자원 캐시)은 필요에 따라 유지되거나 조정될 수 있습니다 ...

}

구성 지침 :

  • location = /index.php : /index.php 경로와 정확히 일치하고 파일에 대한 요청 만 처리합니다.
  • location ~ \.php$ : .php 에서 끝나는 모든 파일과 일치하는 정규 표현식을 사용하십시오.
  • deny all : 모든 요청은 거부됩니다.
  • try_files : 파일이나 디렉토리를 찾아서 찾을 수없는 경우 후속 작업을 수행하십시오.

선택한 옵션은 특정 보안 요구에 따라 다릅니다. 솔루션 1은 더 안전하지만 제한은 더 엄격합니다. 솔루션 2는 보안 및 기능입니다. 실제 상황에 따라 구성을 선택하고 조정하십시오. 구성을 테스트하여 기대치를 충족하는지 확인하십시오. 안전한 구성은 신중해야하며 생산 환경에 적용하기 전에 테스트 환경에서 테스트하는 것이 좋습니다.

위 내용은 nginx에서 index.php 파일에 대한 액세스 만 허용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
利用CSS怎么创建渐变色边框?5种方法分享利用CSS怎么创建渐变色边框?5种方法分享Oct 13, 2021 am 10:19 AM

利用CSS怎么创建渐变色边框?下面本篇文章给大家分享CSS实现渐变色边框的5种方法,希望对大家有所帮助!

css ul标签怎么去掉圆点css ul标签怎么去掉圆点Apr 25, 2022 pm 05:55 PM

在css中,可用list-style-type属性来去掉ul的圆点标记,语法为“ul{list-style-type:none}”;list-style-type属性可设置列表项标记的类型,当值为“none”可不定义标记,也可去除已有标记。

css与xml的区别是什么css与xml的区别是什么Apr 24, 2022 am 11:21 AM

区别是:css是层叠样式表单,是将样式信息与网页内容分离的一种标记语言,主要用来设计网页的样式,还可以对网页各元素进行格式化;xml是可扩展标记语言,是一种数据存储语言,用于使用简单的标记描述数据,将文档分成许多部件并对这些部件加以标识。

css3怎么实现鼠标隐藏效果css3怎么实现鼠标隐藏效果Apr 27, 2022 pm 05:20 PM

在css中,可以利用cursor属性实现鼠标隐藏效果,该属性用于定义鼠标指针放在一个元素边界范围内时所用的光标形状,当属性值设置为none时,就可以实现鼠标隐藏效果,语法为“元素{cursor:none}”。

rtl在css是什么意思rtl在css是什么意思Apr 24, 2022 am 11:07 AM

在css中,rtl是“right-to-left”的缩写,是从右往左的意思,指的是内联内容从右往左依次排布,是direction属性的一个属性值;该属性规定了文本的方向和书写方向,语法为“元素{direction:rtl}”。

css怎么实现英文小写转为大写css怎么实现英文小写转为大写Apr 25, 2022 pm 06:35 PM

转换方法:1、给英文元素添加“text-transform: uppercase;”样式,可将所有的英文字母都变成大写;2、给英文元素添加“text-transform:capitalize;”样式,可将英文文本中每个单词的首字母变为大写。

css怎么设置i不是斜体css怎么设置i不是斜体Apr 20, 2022 am 10:36 AM

在css中,可以利用“font-style”属性设置i元素不是斜体样式,该属性用于指定文本的字体样式,当属性值设置为“normal”时,会显示元素的标准字体样式,语法为“i元素{font-style:normal}”。

怎么设置rotate在css3的旋转中心点怎么设置rotate在css3的旋转中心点Apr 24, 2022 am 10:50 AM

在css3中,可以用“transform-origin”属性设置rotate的旋转中心点,该属性可更改转换元素的位置,第一个参数设置x轴的旋转位置,第二个参数设置y轴旋转位置,语法为“transform-origin:x轴位置 y轴位置”。

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

VSCode Windows 64비트 다운로드

VSCode Windows 64비트 다운로드

Microsoft에서 출시한 강력한 무료 IDE 편집기