ProgramingTip

http를 통해 파일에 대한 직접 액세스를 차단하지만 PHP 펼쳐 액세스는 허용

bestdevel 2020. 11. 1. 18:30
반응형

http를 통해 파일에 대한 직접 액세스를 차단하지만 PHP 펼쳐 액세스는 허용


내 파일 (pdf, doc, flv 등)을 버퍼에로드하고 펼쳐보기를 사용하여 사용자에게 제공하고 있습니다. 파일에 액세스 할 수 있습니다 직접 액세스를 허용하지면 펼쳐가 필요합니다. 이를 달성하는 가장 좋은 방법은 무엇입니까? 내 권한으로 뭔가를해야하거나 .htaccess로 디렉토리를 잠 가야지?


가장 안전한 방법은 Damien이 제안한 것처럼 웹 루트 디렉토리 외부에 보관하려는 파일을 저장하는 것입니다. 이는 웹 서버가 자체 권한이 아닌 아닌 로컬 파일 시스템 권한을 검사기 때문에 작동합니다.

그러나 웹 루트에만 액세스 할 수있는 호스팅 회사가 많이 있습니다. 파일에 대한 HTTP 요청을 계속 방지하려는 모든 통신을 차단하는 .htaccess 파일을 사용하여 파일을 디렉토리에 넣습니다. 예를 들면

Order deny,allow
Deny from all

디렉토리의 로컬 권한으로 웹 서버가 파일을 읽고 서버 때문에 수 있기 때문에 웹 서버 및 측 언어는 계속 읽을 수 있습니다.


이것이 URL에서 내 ini 파일로의 직접 액세스를 차단하는 방법입니다. .htaccess루트의 파일에 다음 코드를 넣습니다 . (추가 폴더를 만들 필요 없음)

<Files ~ "\.ini$">
  Order allow,deny
  Deny from all
</Files>

settings.ini파일은 루트에있는 코드없이 www.mydomain.com/settings.ini에 액세스 할 수 있습니다.


파일이 PHP 전개와 동일한 서버에 있습니까? 참조 웹 루트에서 파일을 보관하고 PHP 펼쳐보기 위치에 대한 읽기 권한이 있는지 확인하십시오.


httpd.conf에서 브라우저 및 wget 액세스를 차단하여 특히 db.inc 또는 config.inc와 같은 파일을 포함합니다. 여러 파일 지시문을 만드는 대신 지시문에서 파일 유형을 강력하지 않습니다.

<Files ~ "\.inc$">
Order allow,deny
Deny from all
</Files>

아파치를 다시 시작하기 전에 구성을 테스트 비용

service httpd configtest

그런 다음 (단계적 재시작)

service httpd graceful

httpd.conf 파일에 액세스 할 수있는 경우 (우분투 / etc / apache2 디렉토리에 있음) .htaccess특정 디렉토리 파일에 추가하는 것과 동일한 행을 추가해야합니다 . 예를 들면 다음과 같습니다.

ServerName YOURSERVERNAMEHERE
<Directory /var/www/>
AllowOverride None
order deny,allow
Options -Indexes FollowSymLinks
</Directory>

정보를 제어하려는 모든 디렉토리에 대해이 작업을 수행하면 모든 액세스를 관리 할 수있는 하나의 파일이 한곳에 있습니다. 위의 예에서는 루트 디렉토리 인 / var / www에 대해 수행했습니다.

이 옵션은 아웃소싱 호스팅, 호스팅 호스팅에서는 사용할 수 없습니다. 그러나 많은 .htaccess파일을 추가하는 것보다 더 나은 옵션 입니다.


웹 액세스에서 .ini 파일을 방지하기 위해 apache2.conf에 다음을 입력하십시오.

<Files ~ "\.ini$">
Order allow,deny
Deny from all
</Files>

htaccess 펼쳐보기 (CodeIgniter에서 사용되는 것과 같은) 기반의 사용자 정의 모듈은 어떻습니까? 나는 CodeIgniter 앱에서 잘 작동했습니다. 다른 앱에서 사용할 수있는 유전자가 있습니까?

<IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

참고 URL : https://stackoverflow.com/questions/2679524/block-direct-access-to-a-file-over-http-but-allow-php-script-access

반응형