웹사이트 검색

웹사이트 보안 및 사용자 정의를 위한 25가지 유용한 Apache '.htaccess' 요령


웹사이트는 우리 삶의 중요한 부분입니다. 그들은 사업을 확장하고 지식을 공유하는 등의 수단을 제공합니다. 이전에는 동적 클라이언트 및 서버측 스크립팅 언어를 도입하고 html과 같은 기존 정적 언어를 html5로 지속적으로 발전시켜 정적 콘텐츠만 제공하도록 제한했으며 웹 사이트에 모든 동적 기능을 추가하는 것이 가능하며 나머지 기능도 곧 뒤따를 것으로 예상됩니다. 미래.

웹사이트의 경우 이러한 웹사이트를 전 세계의 수많은 청중에게 표시할 수 있는 장치가 필요합니다. 이러한 요구는 웹 사이트를 호스팅하는 수단을 제공하는 서버에 의해 충족됩니다. 여기에는 웹사이트를 호스팅할 수 있는 Apache HTTP 서버, JoomlaWordPress와 같은 서버 목록이 포함됩니다.

웹 사이트를 호스팅하려는 사람은 자신의 로컬 서버를 만들거나 위에서 언급한 서버 관리자 또는 다른 서버 관리자에게 문의하여 웹 사이트를 호스팅할 수 있습니다. 하지만 실제 문제는 바로 여기서부터다. 웹사이트의 성능은 주로 다음 요소에 따라 달라집니다.

  1. 웹사이트에서 소비하는 대역폭입니다.
  2. 웹사이트는 해커로부터 얼마나 안전합니까?
  3. 데이터베이스를 통한 데이터 검색에 대한 낙관론
  4. 탐색 메뉴 표시 및 더 많은 UI 기능 제공과 관련하여 사용자 친화성.

이와 함께 웹사이트 호스팅에서 서버의 성공을 좌우하는 다양한 요소는 다음과 같습니다.

  1. 특정 웹사이트에 대해 달성된 데이터 압축의 양입니다.
  2. 동일하거나 다른 웹사이트를 요청하는 여러 클라이언트에게 동시에 서비스를 제공할 수 있는 능력.
  3. 이메일, 신용카드 정보 등 웹사이트에 입력된 기밀 데이터를 보호합니다.
  4. 웹사이트의 역동성을 향상시키기 위해 점점 더 많은 옵션을 허용합니다.

이 문서에서는 웹사이트의 성능을 향상시키고 불량 봇, 핫링크 등(예: '.htaccess' 파일)으로부터 웹사이트를 보호하는 데 도움이 되는 서버에서 제공하는 기능 중 하나를 다룹니다.

.htaccess란 무엇입니까?

htaccess(또는 hypertext access)는 웹사이트 소유자가 서버 환경 변수 및 기타 매개변수를 제어하여 웹사이트 기능을 향상시킬 수 있는 옵션을 제공하는 파일입니다. 이러한 파일은 웹 사이트 디렉터리 트리의 모든 디렉터리에 있을 수 있으며 디렉터리와 그 안에 있는 파일 및 폴더에 기능을 제공합니다.

이 기능은 무엇입니까? 이것은 서버 지시문, 즉 서버에 특정 작업을 수행하도록 지시하는 줄이며 이러한 지시문은 이 파일이 있는 폴더 내의 파일과 폴더에만 적용됩니다. 모든 운영 체제와 웹 서버는 기본적으로 이를 무시하도록 구성되어 있으므로 이러한 파일은 기본적으로 숨겨져 있지만 숨겨진 파일을 표시하면 이 매우 특별한 파일을 볼 수 있습니다. 어떤 유형의 매개변수를 제어할 수 있는지는 후속 섹션에서 논의할 주제입니다.

참고: .htaccess 파일이 /apache/home/www/Gunjit/ 디렉토리에 있는 경우 해당 디렉토리의 모든 파일과 폴더에 대한 지시문을 제공하지만 이 디렉토리에 /Gunjit/images/라는 다른 폴더가 포함되어 있고 여기에 또 다른 .htaccess 파일이 있는 경우 이 폴더의 지시문은 마스터 .htaccess 파일(또는 계층 구조의 상위 폴더에 있는 파일)에서 제공하는 지시문보다 우선합니다.

Apache 서버 및 .htaccess 파일

구어적으로 Apache라고 불리는 Apache HTTP 서버는 뛰어난 전쟁 전략 기술을 존중하기 위해 아메리카 원주민 부족 Apache의 이름을 따서 명명되었습니다. C/C++ 및 XML을 기반으로 구축된 NCSA HTTPd 서버를 기반으로 하는 크로스 플랫폼 웹 서버로 World Wide Web의 성장과 발전에 핵심적인 역할을 합니다.

UNIX에서 가장 일반적으로 사용되는 Apache는 FreeBSD, Linux, Windows, Mac OS, Novel Netware 등을 포함한 다양한 플랫폼에서 사용할 수 있습니다. 2009년에 Apache는 1억 개 이상의 웹 사이트를 제공하는 최초의 서버가 되었습니다.

Apache 서버의 www/ 디렉토리에는 사용자당 하나의 .htaccess 파일이 있습니다. 이러한 파일은 숨겨져 있지만 필요한 경우 표시할 수 있습니다. www/ 디렉토리에는 사용자 또는 소유자 이름으로 명명된 웹사이트와 관련된 여러 폴더가 있습니다. 이 외에도 위에서 설명한 대로 해당 폴더에 파일을 구성한 각 폴더에 하나의 .htaccess 파일이 있을 수 있습니다.

Apache 서버에서 htaccess 파일을 구성하는 방법은 다음과 같습니다.

Apache 서버의 구성

두 가지 경우가 있을 수 있습니다:

자체 서버에서 웹사이트 호스팅

이 경우 .htaccess 파일이 활성화되지 않은 경우 httpd.conf(기본 구성 파일)로 이동하여 .htaccess 파일을 활성화할 수 있습니다. Apache HTTP 데몬의 경우) 섹션을 찾습니다.

<Directory "/var/www/htdocs">

그리고 다음과 같은 줄을 찾으세요.

AllowOverride None 

그리고 그것을 수정하십시오.

AllowOverride All

이제 Apache를 다시 시작하면 .htaccess가 작동합니다.

다른 호스팅 제공업체 서버의 호스팅 웹사이트

이 경우 .htaccess 파일에 대한 액세스를 허용하는지 호스팅 관리자에게 문의하는 것이 좋습니다.

웹사이트용 Apache 웹 서버의 25가지 '.htaccess' 트릭

1. .htaccess 파일에서 mod_rewrite를 활성화하는 방법

mod_rewrite 옵션을 사용하면 리디렉션을 사용하고 다른 URL로 리디렉션하여 실제 URL을 숨길 수 있습니다. 이 옵션은 길고 긴 URL을 짧고 기억하기 쉬운 URL로 바꾸는 데 매우 유용합니다.

mod_rewrite를 허용하려면 .htaccess 파일의 첫 번째 줄에 다음 줄을 추가하는 연습을 하세요.

Options +FollowSymLinks

이 옵션을 사용하면 심볼릭 링크를 따라갈 수 있으므로 웹사이트에서 mod_rewrite 옵션을 활성화할 수 있습니다. URL을 짧고 선명한 URL로 바꾸는 방법은 나중에 설명합니다.

2. 웹사이트 접근을 허용하거나 거부하는 방법

htaccess 파일은 order, allowallow를 사용하여 웹사이트나 폴더 또는 파일이 위치한 디렉토리에 대한 액세스를 허용하거나 거부할 수 있습니다. b>거부 키워드.

192.168.3.1 IP에만 접근 허용
Order Allow, Deny
Deny from All
Allow from 192.168.3.1

OR

Order Allow, Deny
Allow from 192.168.3.1

여기서 Order 키워드는 허용, 거부 액세스가 처리되는 순서를 지정합니다. 위의 'Order' 문에서는 Allow 문이 먼저 처리된 다음 deny 문이 처리됩니다.

하나의 IP 주소에 대한 액세스 거부

아래 줄은 IP 주소가 192.168.3.1인 웹 사이트를 허용하는 모든 사용자에게 웹 사이트 액세스를 허용하는 방법을 제공합니다.

rder Allow, Deny
Deny from 192.168.3.1
Allow from All

OR


Order Deny, Allow
Deny from 192.168.3.1

3. 다양한 오류 코드에 대한 Apache 오류 문서를 생성합니다.

몇 가지 간단한 라인을 사용하면 사용자/클라이언트가 웹사이트에서 사용할 수 없는 페이지를 요청할 때 서버에서 생성된 다양한 오류 코드에서 실행되는 오류 문서를 수정할 수 있습니다. 대부분의 사용자는 '404 페이지를 찾을 수 없음<을 볼 수 있습니다.' 페이지를 웹 브라우저에 표시합니다. '.htaccess' 파일은 이러한 오류 상황이 발생할 경우 취할 조치를 지정합니다.

이렇게 하려면 '.htaccess' 파일에 다음 줄을 추가해야 합니다.

ErrorDocument <error-code> <path-of-document/string-representing-html-file-content>

'ErrorDocument'는 키워드입니다. 오류 코드는 401, 403, 404, 500 또는 코드를 나타내는 유효한 오류 및 마지막으로 '문서 경로'는 로컬 컴퓨터(자신의 로컬 서버를 사용하는 경우) 또는 서버(사용하는 경우)의 경로를 나타냅니다. 귀하의 웹사이트를 호스팅하는 다른 서버).

예 :
ErrorDocument 404 /error-docs/error-404.html

위 줄은 잘못된 요청에 대해 서버에서 404 오류를 보고하는 경우 error-docs 폴더에 있는 'error-404.html' 문서가 표시되도록 설정합니다. 클라이언트의 페이지에 대해.

rrorDocument 404 "<html><head><title>404 Page not found</title></head><body><p>The page you request is not present. Check the URL you have typed</p></body></html>"

일반적인 HTML 파일을 나타내는 문자열을 배치하는 위의 표현도 정확합니다.

4. Apache 서버 환경변수 설정/해제

.htaccess 파일에서 서버가 웹사이트 호스팅 업체에 의해 수정되도록 허용하는 전역 환경 변수를 설정하거나 설정 해제할 수 있습니다. 환경 변수를 설정하거나 설정 해제하려면 .htaccess 파일에 다음 줄을 추가해야 합니다.

환경 변수 설정
SetEnv OWNER “Gunjit Khera”
환경 변수 설정 해제
UnsetEnv OWNER

5. 파일에 대해 다양한 MIME 유형 정의

MIME(다목적 인터넷 멀티미디어 확장)은 웹페이지를 실행할 때 기본적으로 브라우저에서 인식되는 유형입니다. .htaccess 파일에서 웹사이트의 MIME 유형을 정의할 수 있으므로 정의한 다양한 유형의 파일을 서버에서 인식하고 실행할 수 있습니다.

<IfModule mod_mime.c>
	AddType	application/javascript		js
	AddType application/x-font-ttf		ttf ttc
</IfModule>

여기에서 mod_mime.c는 다양한 MIME 유형의 정의를 제어하기 위한 모듈이며 시스템에 이 모듈이 설치되어 있는 경우 이 모듈을 사용하여 웹 사이트에서 사용되는 다양한 확장자에 대해 다양한 MIME 유형을 정의할 수 있습니다. 서버가 이해할 수 있도록.

6. Apache에서 업로드 및 다운로드 크기를 제한하는 방법

.htaccess 파일을 사용하면 웹사이트의 특정 클라이언트가 업로드하거나 다운로드하는 데이터의 양을 제어할 수 있습니다. 이를 위해서는 .htaccess 파일에 다음 줄을 추가하기만 하면 됩니다.

php_value upload_max_filesize 20M
php_value post_max_size 20M
php_value max_execution_time 200
php_value max_input_time 200

위 줄은 최대 업로드 크기, 게시되는 데이터의 최대 크기, 최대 실행 시간, 즉 사용자가 로컬 컴퓨터에서 웹 사이트를 실행할 수 있는 최대 시간, 입력 시간 내 최대 시간 제한을 설정합니다.