묻고답하기
특정 사이트에서 제 사이트로의 링크를 누르면 차단 페이지가 나오게 하고싶습니다.
2014.08.08 01:15
제 홈페이지의 주소가 111.com이라고 치면
만약 aaa.com 이라는 사이트에 111.com/xe/1314 식의 홈 주소가 올라왔을 때 그 사이트에서 클릭했을 시 차단 페이지가
나올 수 있도록 수정할 수 없을까요?
댓글 8
-
LI-NA
2014.08.08 01:46
-
차밍
2014.08.08 02:22
죄송하지만 조금만 더 자세하게 설명해주실 수 있을까요?
제가 커뮤니티 홈을 처음 운영해 보고 xe는 정말 초보라 님같은 전문가 분이 설명해 주시면 모르는 게 많아서 어떻게 적용을 해야 할지 힘들어서ㅠㅠㅠ
애드온을 만드는 것은 제 역량으론 무리수일 거 같고
리퍼러값으로 체크하여 써주신 코드를 어떻게 삽입하면 되는지...ㅠㅠ
답변은 정말 감사합니다 ㅠㅠㅠ -
HSJI
2014.08.08 07:42
.htaccess 파일에 아래 코드를 추가하는 방법도 있답니다.
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?내도메인 [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google\.com [NC]
RewriteRule ^.* - [F,L]내도메인 상에서 링크연결과 구글 검색으로 접근하는 것을 빼고
모든 리퍼러를 통한 접속 차단입니다.
그림파일등 특정파일만 차단하고 싶으면 위에 rewriterule을
RewriteRule \.(jpg|gif|bmp|png|tif)$ - [NC,F,L]
이렇게 써주면 됩니다.
-
차밍
2014.08.08 11:40
구글 검색 수집은 지금 아예 막아두었거든요
트래픽 문제도 있고ㅠㅠㅠ
오직 한 사이트만 차단하고 싶은데. .. -
HSJI
2014.08.08 12:04
만약 사이트 한 곳만 막으려 하시면 (aaa.com이 막으려는 사이트인 경우)
RewriteCond %{HTTP_REFERER} ^http://(www\.)?aaa\.com [NC]
RewriteRule ^.* - [F,L]이러면 됩니다.
-
차밍
2014.08.08 17:07
초보라서 자꾸만 질문을 되묻게 되네요 ㅠㅠㅠ 정말 감사하고 죄송해요 그런데 제 htacess 파일을PHP_FLAG register_globals ONPHP_VALUE mysql.default_charset UTF8RewriteCond %{HTTP_REFERER} ^http://(www\.)?차단도메인\.net [NC]RewriteRule ^.* - [F,L]이렇게 수정을 했는데, 테스트로 해당 사이트의 페이지에서 제 홈 주소를 클릭해도 매우 정상적으로 접속이 되더라구요제가 어디를 잘못 수정한 걸까요? 알려주시면 정말 감사하겠습니다 ㅠㅠㅠㅠㅠㅠ -
HSJI
2014.08.08 18:37
일단 위의 htaccess 파일은 윈도우서버(IIS)에서는 작동 되지 않습니다.
url재작성을 쓰셔서 규칙 불러오기를 하셔야 하구요.
윈도우 서버가 아니라면
xe가 설치된 root폴더의 기존.htaccess 하단에 코드를 추가하시면 됩니다.
전역변수 설정은 특별한 이유가 있어서 하신건가요?
xe 루트에 원래 있는 .htaccess 파일에는 전역변수 관련 내용은 없고 약 50여줄의 rewrite 코드가 이미 작성되어 있습니다.
혹 다른 곳에서 .htaccess를 쓰신다면
RewriteEngine On
RewriteCond %{HTTP_REFERER} ^http://(www\.)?차단도메인\.net [NC]RewriteRule ^.* - [F,L]으로 해보세요.
-
차밍
2014.08.09 17:16
정말 감사합니다 잘 해결되었어요^^!
리퍼러값으로 체크하면 가능합니다.
자바스크립트의경우
if (document.referrer.indexOf('aaa.com') >= 0) {
~~ 차단 코드 ~~
}
아니면 애드온으로 만들어 302 Moved를 호출해 사이트 접근을 원천 차단도 가능합니다.