테스트 사이트 - 개발 중인 베타 버전입니다

링크 url 직접 접근 막기 채택완료

신리 10년 전 조회 9,128

현재 그누보드5나 영카트5에서 레벨제를 운영하고 있는데요...

 

권한이 없는 자가 내용을 보는 것 등은 일반적으로 잘되는데...

다운로드도 무난한 것 같습니다..

 

그런데 이미지도 중요 컨텐츠일텐데...

 

이미지 url이 노출되었을 경우 직접 주소창에 링크를 입력하고 접근하면 그냥 접근이 됩니다...

 

그래서 아래와 같이 한번 해봤는데 전혀 소용이 없네요...

 

===========================================================

.htaccess 화일작성후 설치 root에 업로드

 

RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L] RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?abc.com [NC] RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]​

====================================

 

여기에 해법을 갖고 계시는 고수님들의 힌트를 부탁드립니다.. 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
10년 전
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$|.*jpeg$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !abc\. [NC]
RewriteRule (.*) access_denied.png

네번째 abc는 url에 포함된 문자열입니다.
naver라면 abc 대신 naver이 들어가야겠죠.

위 처럼 시도해 보시죠 ^^
로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

신리
10년 전
해보시면 전혀 안먹혀요....

댓글을 작성하려면 로그인이 필요합니다.

10년 전

우선은.. 질문글에 있는거에서는

RewriteEngine On

이게 먼저 들어가야 할거구요..

RewriteCond %{HTTP_REFERER} !^$

이건 빼주셔야 직접 주소창에 입력해서 접근시 막을수 있습니다. 저 구문이 리퍼러가 없는경우는 룰에서 제외하겠다는거니..

 

그리고 저도 보통은 rewrite보다는 네이비칼라님처럼 사용하는데

SetEnvIFNoCase Referer "^https?://(http://www.)">www.)http://?test.com">?test.com" pass

Order deny,allow

deny from all

allow from env=pass

이런식으로 썼습니다.

 

사이트를 직접 확인해봤더니

http://nyjfc.365ok.kr/img/banner01.jpg">http://nyjfc.365ok.kr/img/banner01.jpg 이건 보여지고

http://nyjfc.365ok.kr/data/file/menu4/thumb-2040784209_1EuOvrpe_Hydrangeas_500x400.jpg">http://nyjfc.365ok.kr/data/file/menu4/thumb-2040784209_1EuOvrpe_Hydrangeas_500x400.jpg​ 이건 막히는군요.

data디렉토리만 적용하신거라면 잘 적용된게 아닐까 싶은데요.. +_+

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

신리
10년 전
답변 주셔서 감사합니다..

댓글을 작성하려면 로그인이 필요합니다.

10년 전

https://kldp.org/node/101802

여기 본문글이랑 댓글 참고해보세요~

리퍼러는 음.. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

신리
10년 전
답변 주셔서 감사합니다..

댓글을 작성하려면 로그인이 필요합니다.

10년 전

직접 테스트 해 보니 잘됩니다.

단, 맨 처음 불러 올때는 적용이 되지 않으나 새로고침하면 그때 부터

적용이 됩니다.

 

직접 주소창에 이미지 url을 넣고 접근하는 경우는 해당 사이트의 것으로 열리니 도리 없는 경우겠죠.

 

아래 내용은 타사이트의 페이지에서 이미지에 접근했을 때 이미지를 보이지 않는 경우입니다.

 

예를 들어 sir.co.kr 이라면 php_flag register_globals on SetEnvIf Referer "sir\.co\.kr" link_allow SetEnvIf Referer "www\.sir\.co\.kr" link_allow Order Deny,Allow Deny from all Allow from env=link_allow SetEnvIf Referer sir\.co\.kr go_in SetEnvIf Referer www\.sir\.co\.kr go_in SetEnvIf Referer ^$ go_in Order Deny,Allow Allow from env=go_in Deny from all 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

신리
10년 전
제가 적용해 본 사례로는
.htaccess 반영만으로는 안됩니다...
현재 위 내용이
http://nyjfc.365ok.kr에 적용되어 있지만
직접 이미지 url로 접근시 그대로 노출됩니다...
제가 볼 땐 별도의 php 함수를 만들어 직접 노출하는 것을 막는 방법을 해야 할 것으로 보입니다..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인