웹마스터 팁
Apache .htaccess 작성요령
2013.09.19 08:04
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를 만들려면 여기를 참고하세요.
댓글 10
-
socialskyo
2013.09.20 18:39
와우!! 대박 이네요.
-
socialskyo
2013.09.20 18:46
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>
요건 사용하니까....제 사이트의 이미지도 못불러오네요...레이아웃도 깨지고.....제가 뭔가 문제가 있나 봅니다. -
socialskyo
2013.09.20 19:56
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>
요건 사용하니까....제 사이트의 이미지도 못불러오네요...레이아웃도 깨지고.....제가 뭔가 문제가 있나 봅니다. -
컴매냐
2013.09.21 04:39
domain.com을 @socialskyo 님의 사이트 주소로 수정 하셨나요?
-
socialskyo
2014.01.21 22:49
지금에서야 대답 하네요. ^^ 덕분에 모두 잘 되었습니다. 늦었지만 감사 드립니다.
-
착한부산남자
2013.09.21 14:58
제 xe는 따로 xe 폴더가 없어서
/www에 있는 .htaccess 상위에 위 코드를 삽입했는데 오류가 납니다.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.Please contact the server administrator, postmaster@kbglove.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
-
컴매냐
2013.09.21 22:35
수정하였습니다. 감사합니다.
-
장_앙마
2014.06.18 10:37
고맙습니다.
-
태풍_님
2014.06.19 22:21
사이트가 2개 도메인을 파크해서 같이 이용하는데
예시로 domain.com/index.php를 domain.co.kr/index.php ( 뒤에다가 똑같이 domain.com/tip/22332567 라면 domain.co.kr/tip/22332567 이렇게 설정하는 방법 없을까요??
음.. htaccess 어려워요 ㅜㅜ
제목 | 글쓴이 | 날짜 |
---|---|---|
XE 1.2.1에서 xe_default 게시판 스킨 사용시 IE에서 글입력폼이 안보일 때 [2] | 현의느낌 | 2009.04.28 |
XE 위키에 최근 접속 페이지 정보 출력
![]() | 개돌 | 2009.04.27 |
[질문]회원가입시 음력생일입력 가능 한가요? [1] | 신정 | 2009.04.27 |
초보 xe1.1.5에대한질문 [3] | 울프 | 2009.04.26 |
스프링노트 연동기를 써 보았습니다. | amyjang | 2009.04.23 |
플래시 랜덤하게 불러오기 [9] | 선비숨결 | 2009.04.21 |
BNU님의 Planner XE 1.2 버젼(일정관리)
[9]
![]() | 개돌 | 2009.04.21 |
다양한 언어로 홈페이지 서비스하기 - 무식한 방법 [4] | 멀리서 | 2009.04.21 |
포인트 부족하면 글 조회 안되게 하는 법 [6] | 뚱님*^^* | 2009.04.18 |
첨부파일 안올라갈 경우..
[5]
![]() | 양갱; | 2009.04.18 |
홈페이지 타이틀이 $user_lang->home ,freeboard등으로 나오는 문제 수정방법(자체해결) [1] | 정박사닷컴 | 2009.04.18 |
폰트가 작아져요
[2]
![]() | 황소111 | 2009.04.17 |
해당 Cafe 회원에 가입후 Cafe 회원목록에 나타나지 않음...... | 뉴욕에서 | 2009.04.16 |
페이지 및 게시판 메뉴 경로
[2]
![]() | 자반튀김 | 2009.04.15 |
제로보드4, xe 버전 바이러스에 대한 질문 [1] | 투자혁명 | 2009.04.15 |
게시판에서 확장 변수를 쓰는 경우 1.2.0 이상 버전으로 업그레이드하기 전에 패치하시기 바랍니다.
[5]
![]() | mooo | 2009.04.14 |
XpressEngine 1.2.1 r6096 트리거 목록 [2] [1] | mooo | 2009.04.13 |
[1.2.0] content 위젯 사용시 rss리더 새창에 뛰우기 [1] | 늘같이 | 2009.04.10 |
비밀글 댓글이 최신댓글 위젯에 노출되는 문제 수정방법 [1] | 얼터1 | 2009.04.10 |
주민등록 입력 폼 1.2.0
[55]
![]() | 개돌 | 2009.04.10 |
와우~