외부이미지 링크 차단하기
https://xetown.com/index.php?mid=lakepark&category=5781&document_srl=47767
질문글 올리고 부랴부랴 외부이미지 차단하는 방법에 대해서 알아봤습니다
저는 FTP 접속정도만 하는 초보수준이며...팁을 보고 따라했는데도 적용이 안되서 검색으로 여기저기 맞춰보니
테스트 결과 성공해서 알려드립니다~
수정은 다들 아시겠지만 ftp 루트 폴더에 .htaccess파일에 아래 코드를 추가하시면 됩니다
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteRule \.(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$ http://i.imgur.com/rI02Hx7.png [NC,R,L]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?naver.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?nate.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?daum.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?paran.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.co.kr [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
yourdomain.com 부분이 2군데 입니다 모두 본인의 사이트 주소로 수정하시구요
http://i.imgur.com/rI02Hx7.png
요건 불펌했을때 뜨는 대체 이미지 입니다 적당한걸로 교체하시면 될거 같네요~
트래픽 누수때문에 코드넣은건데 저 대체이미지를 본인계정으로 넣으시면 똑같이 트래픽 나가실테니^^;
저렇게 무료이미지 호스팅 사이트에 올려놓으시고 링크주소를 적으셔야합니다~
아래 포털주소는 검색상 노출될때는 이미지검색이 허용되야 할거 같아서 덧붙였습니다
저부분은 어떻게 테스트해야될지 몰라서 못했는데 일단 추가는 해두었구요~
저도 검색질하다가 나온거라..
혹시 잘못된 점 있거나 수정해야될점 있으시면 댓글로 알려주세요!
감사합니다
댓글 25
근데 어느 파일...ftp루트..?...a
이런식으로 ftp 접속하자마자 파일이 보이실껍니다^^~
RewriteRule \.(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$ http://i.imgur.com/rI02Hx7.png [NC,R,L]
저 부분만 본인의 이미지링크로 바꿔주면 되겠죠? 하악하악!
구글은 주요국가 도메인을 일일이 다 해줄 필요도 있어 보이네요.
?google.*
요게 먹나요?
전 오히려 공홈이나 다른데 있었던걸 그대로 붙여넣기해서 안되서 이렇게 해서 성공했었거든요~
아니면 .htaccess를 files 폴더에 넣어보시겟어요?
혹시 아직 캐시가 남아있어서 보일수도 있어요 ㅎㅎ
네이버이미지 가져오면 본인은 보이는 현상처럼...
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
제가 저렇게해서 잘되긴 하는데
만약 한줄로도 된다면 문제 없을거 같습니다!
이게 순서가 맨 아래로 와야 허용도메인 들이 의미가 있어지지 않을까요?
지금 제 추측으로는 본인 사이트 외에 나머지 리퍼러 모두 차단될 듯해서요.
캐시 때문인거 같네요. + 루트에 제가 끼워 넣는걸 못하나 봅니다. 루트에서 안되네요 ㅋ
일단 RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?도메인.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?naver.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?nate.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?daum.net [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?paran.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.co.kr [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteRule \.(gif|jpg|jpeg|png|GIF|JPG|JPEG|PNG)$ - [NC,F,L]
이런식으로 files 폴더에 넣어서 되는 듯 합니다. 다른 브라우저로 열어서 새로고침 하니 엑박이 뜨네요.
여기에 사용되는 이미지가 /files/attach/site_image 폴더에 있는 이미지들 입니다. 물론 SEO모듈을 설치하시고 이미지를 업로드 하셔야 생길것 같은 추측이지만.. 어찌 되었던 이러한 이미지들은 제한하면 손해가 더 클 듯합니다.
그래서 저는
/files/attach/images
/files/attach/outimage
위 두폴더에만 .htaccess 파일을 업로드했습니다. 이 폴더의 파일들이 사이트 본문에 들어간 이미지들이라서요.
@웹지기님, /files/attach/images, /files/attach/outimage 말씀하신 위 두 폴더에
.htaccess 파일을 생성하려고 하는데 ftp에서 계속 전송 자체가 되질 않아서요.
혹시 권한 문제인가요. 아님 다른 방법이 있는 건가 해서요ㅠㅠ
1. apt-get install nano (텍스트 편집 프로그램입니다.)
2. cd /홈 디렉터리
3. nano .htaccess
4. htaccess에 넣을 텍스트를 복사해서 붙여넣습니다.
5. ctrl+o (저장하는 단축키입니다.)
6. ctrl+x (nano에서 빠져나오는 단축키입니다.)
7. chmod 원하는 권한 (권한 설정을 위한 커맨드입니다)
하시면 .htaccess 파일을 커맨드라인 상에서 생성하실 수 있을듯 하네요.
예...감사합니다. 시도해 보겠습니다^^