웹마스터 팁

RewriteEngine On
 
#1. 리퍼러 차단
SetEnvIfNoCase Referer "fillbest|bestyahoogamers|pirst|getfiles" ban
Deny from env=ban
 
 
#2. 프록시 차단
RewriteCond %{HTTP:VIA}                 !^$ [OR]
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
RewriteRule ^(.*)$ - [F]
 
 
#3. 디렉토리 브라우징 금지
Options All -Indexes
 
 
#4. phpinfo 실행시 아이디/비밀번호 입력
<Files phpinfo.php>
AuthName "phpinfo()"
AuthType Basic
AuthUserFile /path/to/.htpasswd
Require valid-user
</Files>
 
 
#5. HTTP 오류시 해당 문서 보여줌
ErrorDocument 400 /errorpage/400.html
ErrorDocument 401 /errorpage/401.html
ErrorDocument 403 /errorpage/403.html
ErrorDocument 404 /errorpage/404.html
ErrorDocument 405 /errorpage/405.html
ErrorDocument 500 /errorpage/500.html
 
 
#6. 자동으로 www 붙이기
RewriteCond %{HTTP_HOST} ^domain.com [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [L,R=301,NC]
 
 
#7. 이미지 외부링크 제한
SetEnvIfNoCase Referer "^http://(.*).domain.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://(.*).domain.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://domain.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://domain.com$" locally_linked=1
SetEnvIfNoCase Referer "^https://domain.com/" locally_linked=1
SetEnvIfNoCase Referer "^https://domain.com$" locally_linked=1
SetEnvIfNoCase Referer "^https://(.*).domain.com/" locally_linked=1
SetEnvIfNoCase Referer "^https://(.*).domain.com$" locally_linked=1
<FilesMatch ".(gif|GIF|jpg|JPG|bmp|BMP|png|PNG|psd|PSD|ai|AI|tif|TIF|tiff|TIFF|pcx|PCX|wmf|WMF|emf|EMF|css|CSS)$">
Order Allow,Deny
Allow from env=locally_linked
</FilesMatch>
 
 
#이후는 XE 기본 Rewrite 기능, 이하 생략

 

1. 리퍼러 차단: 쓸데없는 스팸 리퍼러 등을 차단하여 로그에 기록되지 않게 합니다.

2. 프록시 차단: 이걸 쓰면 프록시 차단 애드온이 필요없습니다. (확인해보니 소스가 동일)

3. 디렉토리 브라우징 금지: 디렉토리 퍼미션이 777으로 되어있는 경우에도 안의 내용을 리스트로 볼 수 없게 합니다.

4. phpinfo 실행시 아이디/비밀번호 입력: HTTP Basic Authentication을 이용해서 phpinfo 파일을 보호합니다.

5. HTTP 오류시 해당 문서 보여줌: 모두 잘 아시는 ErrorDocument 기능입니다.

6. 자동으로 www 붙이기: 로그인이 풀리는 문제를 막아줍니다. 서버단에서 처리해주기 때문에 속도 저하가 없습니다.

7. 이미지 외부링크 제한: 내사이트를 제외한 다른 사이트에서 이미지를 무단으로 링크하는 것을 막아줍니다.

 

저는 일반적인 홈페이지에 사용되는 내용만 담은 것입니다. 저보다 더 좋은 htaccess를 만들려면 여기를 참고하세요.

제목 글쓴이 날짜
nginx, php-fpm, opcache, memcached, xcache 등을 모두 알아서 설치해주는 centminmod 라고 아시나요? [9] 그럴수 2015.08.21
[작고 왜소한 팁] 각종 loop 반복문에서 각기 다른 아이디값이나 클래스값부여하기 [1] 410contents 2015.10.01
"이 페이지 나가기" 경고창이 뜨는 사이트의 경우 [23] 투씨 2014.02.15
모바일 게시판 스킨에서 댓글 작성자 레벨 아이콘이 나오지 않는 오류 수정하기 [3] 퍼니엑스이 2015.09.15
SimpleStrap과 Rest Bootstrap 게시판 사용중 상단바 마비 오류 해결법 file 이자여 2015.09.18
자신에게 맞는 웹호스팅 선정과 기본 설정 팁 [11] 뭐야왜안돼 2015.09.07
Content 위젯에서 비밀글이 나오도록 수정하기 퍼니엑스이 2015.09.05
triggerAfterInsertDocument에서 첨부파일 불러지지 않는 문제 해결 방법 [1] 단희아빠 2015.09.04
XE 서버 이전할 때 통채로 압축해서 옮기는 완벽한 방법-로그인, 첨부파일문제 해결 [5] 웰빙샵 지영 2009.09.15
손님이 비밀글 작성한 직후에도 글 보려면 반드시 비밀번호 넣게 하는 방법 [1] sejin7940 2014.06.18
php로 간단하게 신규쪽지(읽지않은쪽지) 표시해주기 [2] 졸라맨 2014.07.23
XE 1.8 대응 apache 2.2 / php 5.5 / MariaDB 10 설치 [11] 간장게장같은남자 2015.04.19
php 5.6 이상에서 사이트 메뉴 편집 등 오류 발생시 YJSoft 2015.08.12
위젯수정시 _getContent method is not exists 에러 뜨는 문제 [2] 황비 2014.11.14
[XE수정] 관리자페이지 회원리스트를 내맘대로 브레인630 2015.08.11
[XE수정] '새버전을 업데이트...'이 부분이 눈에 거슬리면... [1] 브레인630 2015.08.11
CSS 및 JAVASCRIPT 소스 효과적으로 숨기기. [9] LaughLikeCrazy 2007.06.16
태그 (Tag) 관련글 보여줄 때 상단에 선택된 태그 보여주는 방법 [1] calko 2015.08.08
DB에서 직접 시퀀스 생성하기 [3] 기진곰 2015.07.18
FTP로 폴더가 삭제가 안될때~! [6] file 웹엔진 2012.01.30