웹마스터 팁

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를 만들려면 여기를 참고하세요.

제목 글쓴이 날짜
[javascript] 기초강좌 | 03 논리연산자, 비트, 삼항연산자, 기타연산자 hiwebs 2014.07.02
[10원팁] 서버에 계정추가후 새로설치하는데 CSS가 깨진다? [3] 키스미베이베 2014.02.27
회원가입시 닉네임 특수문자 제한하기 [10] 절망린 2009.06.06
[nginx] Rewrite 예외 설정 okiz 2014.06.30
관리자 비밀번호 분실시 phpmyadmin을 이용하여 재설정하는 방법 [6] elancer 2014.03.11
BlogAPI 활용하기 file 맞장 2014.06.29
min.js min.css 정리해서 보기 Happyphp 2014.06.26
부트스트랩 css 팁 [3] 돼지코구뇽 2014.04.05
추천과 추천포인트 관련 팁 [8] 고진감래 2009.09.30
관리자가 글 쓸때는 분류를 선택 안 해도 등록되도록 (공지글을 쓸때를 위해) 개선 [2] sejin7940 2014.06.21
템플릿 파일에서 일반 PHP 코드 사용 [3] 화니군 2007.08.28
XE에서 신디케이션 제거하기 [1] mAKEkr 2014.06.20
에디터에서 나눔고딕 웹폰트, 기본글꼴로 적용하기(구글API이용) [6] file 애니즌 2014.06.06
관리자페이지에서 콘텐츠->파일 에서 등록된 파일 전체 리스트에 이미지가 바로 나타나도록 [2] sejin7940 2014.06.19
Apache .htaccess 작성요령 [10] 컴매냐 2013.09.19
목록에서 이미지 팝업 이용하기 Happyphp 2014.06.19
include용 파일에는 닫는 php문이 없다? file YJSoft 2014.04.14
레이아웃에 배경이미지 업로드 하고 적용시키기 [1] 웹빌드ver2 2014.06.10
Windows 서버에서 XE 속도 대폭 개선 방법 [29] StyleRoot 2013.02.25
Google Public DNS 강제 Flush Cache 하기 AJKJ 2014.06.08