워드프레스 마우스 우클릭방지 사진 불펌 차단설정 핫링크
워드프레스 핫링크 설정 방법 여러 사이트 운영 시 이미지 공유 허용하고 외부 불펌 막는 법
워드프레스나 티스토리를 운영하다 보면 글 복사보다 더 먼저 체감되는 문제가 있습니다. 바로 다른 사이트가 내 서버 이미지를 그대로 불러다 쓰는 경우입니다. 이런 상황이 길어지면 사진만 퍼간 것이 아니라 내 호스팅 트래픽까지 같이 가져가는 셈이 되기 때문에, 방문자가 늘수록 속도 저하나 자원 부족으로 이어지기 쉽습니다.

특히 사이트를 하나만 운영할 때는 단순히 핫링크 차단만 켜도 되지만, 도메인 2개, 3개 또는 그 이상을 함께 운영하는 경우에는 이야기가 달라집니다.
무조건 차단해버리면 내가 운영하는 다른 사이트 본문에서도 이미지가 끊길 수 있기 때문입니다. 그래서 이번에는 외부 사이트는 막고, 내가 운영하는 여러 사이트끼리는 이미지가 정상적으로 보이게 설정하는 방식까지 같이 정리해보겠습니다.
SEO 인터넷 검색 최적화 글 작성방법 - 10가지 - 노랗IT월드
내 홈페이지의 글이 검색사이트에 최상위에 나오게 하기 위해서는 SEO 인터넷검색엔진 최적화의 기본 규율을 지키면서 양질의 글을 써야한다. 네이버와 다음 구글 등 각각에 검색엔진이 좋아하
yellowit.co.kr
타 호스팅 사진공유 안되게 핫링크 설정
검색 유입을 신경 쓰는 블로그라면 글 보호와 서버 보호를 따로 볼 필요가 없습니다.
이미지가 외부 사이트로 계속 송출되면 내 서버 자원을 그대로 쓰게 되기 때문에, 실제로는 불펌 방지와 트래픽 절약이 같이 묶여 있는 셈입니다. 그래서 핫링크 설정은 생각보다 우선순위가 높습니다.
핫링크는 쉽게 말해 내 서버에 있는 이미지를 다른 사이트가 자기 것처럼 끌어다 쓰지 못하게 막는 기능입니다.
예전에는 단순히 한 사이트만 보호하는 용도로 많이 썼지만, 요즘처럼 운영 중인 블로그나 워드프레스 사이트가 2개 이상인 경우에는 허용 도메인을 함께 넣는 예외 처리가 같이 들어가야 훨씬 실용적입니다.

예를 들어 메인 사이트에 올린 이미지를 서브 사이트나 다른 워드프레스 사이트 본문에서 같이 사용하는 경우가 많은데요 이때 핫링크를 무조건 차단해버리면 외부 사이트만 막히는 것이 아니라, 내가 운영하는 다른 사이트에서도 사진이 깨질 수 있습니다.
그래서 지금 기준으로는 도메인 2개, 3개, 또는 여러 개를 허용 목록에 먼저 넣고 나머지만 차단하는 방식이 훨씬 현실적입니다.
워드프레스 이미지 엑박 및 일부 사진 안 뜰 때 FTP 권한 캐시 핫링크까지 - 노랗IT월드
워드프레스를 운영하다 보면 이미지가 전부 깨지는 “엑박”이 아니라, 미디어 라이브러리나 편집 화면에서는 멀쩡한데 실제 페이지에서만 20장 중 1장처럼 뜯겨 나가듯 빠지는 경우가 있습니
yellowit.co.kr
이미지 일부가 갑자기 안 뜨거나 특정 사이트에서만 엑박이 보인다면, 파일 자체가 손상된 경우보다 핫링크 규칙이나 도메인 예외 처리 문제인 경우가 더 많습니다.
그래서 핫링크를 켤 때는 차단만 볼 것이 아니라 허용할 도메인 목록을 먼저 정리하는 편이 훨씬 빠릅니다.
여러 사이트 운영 시 허용 도메인 먼저 정리
핫링크 설정에서 가장 많이 놓치는 부분이 바로 이 부분입니다.

사이트가 하나일 때는 내 도메인만 허용하면 끝이지만, 두 개 이상 운영 중이라면 메인 도메인, www 도메인, 필요하면 CDN 도메인까지 같이 넣어야 합니다.
예를 들어 아래처럼 정리하는 방식이 가장 무난합니다.
- site-a.com
- www.site-a.com
- site-b.com
- www.site-b.com
- site-c.com
- www.site-c.com
꼭 3개만 허용해야 하는 것은 아닙니다. 2개를 운영하면 2개만, 4개를 운영하면 4개 모두 넣는 방식으로 생각하면 됩니다. 핵심은 내가 실제로 이미지를 공유하는 모든 사이트를 예외 처리하는 것입니다.
WHM 터미널 명령어 한번으로 핫링크 이미지 차단

WHM이나 SSH 접근이 가능하다면 한 줄 명령으로 여러 사이트의 .htaccess에 같은 규칙을 넣을 수 있습니다. 여기서는 실제 주소 대신 예시 도메인으로 바꿔서 적겠습니다. 그대로 복사하기보다 본인 환경에 맞춰 경로와 도메인만 바꾸는 방식으로 쓰면 됩니다.
for f in /home/USER/public_html/.htaccess /home/USER/public_html/site-a/.htaccess /home/USER/public_html/site-b/.htaccess; do [ -f "$f" ] && cp "$f" "$f.bak.$(date +%F-%H%M%S)"; touch "$f"; sed -i '/# BEGIN CROSS-HOTLINK/,/# END CROSS-HOTLINK/d' "$f"; printf '\n# BEGIN CROSS-HOTLINK\n<IfModule mod_rewrite.c>\nRewriteEngine On\nRewriteCond %%{REQUEST_URI} ^/wp-content/uploads/ [NC]\nRewriteCond %%{HTTP_REFERER} !^$ [NC]\nRewriteCond %%{HTTP_REFERER} !^https?://([a-z0-9-]+\\.)*site-a\\.com/ [NC]\nRewriteCond %%{HTTP_REFERER} !^https?://([a-z0-9-]+\\.)*site-b\\.com/ [NC]\nRewriteCond %%{HTTP_REFERER} !^https?://([a-z0-9-]+\\.)*site-c\\.com/ [NC]\nRewriteRule \\.(?:jpe?g|png|gif|webp|svg|avif)$ - [F,NC,L]\n</IfModule>\n# END CROSS-HOTLINK\n' >> "$f"; done
위 방식은 외부 사이트는 막고, 내가 운영하는 사이트끼리는 이미지를 계속 보이게 만드는 구조입니다. 만약 사이트가 두 개라면 site-c 규칙은 빼면 되고, 반대로 더 많다면 허용 도메인 줄을 추가하면 됩니다.
핵심은 어렵지 않습니다. 차단 규칙보다 허용 목록이 먼저라는 점만 기억하면 됩니다. 이 부분을 빼먹으면 외부 사이트는 막았는데 정작 내 다른 사이트 본문 이미지까지 같이 안 뜨는 일이 생깁니다.
적용 후 꼭 확인할 항목
명령어를 넣고 끝내지 말고 실제로 동작하는지 바로 확인하는 것이 좋습니다. 특히 여러 사이트를 운영 중이라면 아래 항목만 체크해도 대부분 문제를 바로 찾을 수 있습니다.
- 허용 도메인에 www 버전을 빼먹지 않았는지
- 이미지 확장자에 webp, svg, avif가 포함됐는지
- 이미지 경로가 /wp-content/uploads/ 아래인지
- CDN이나 별도 이미지 도메인을 쓰는지
- 기존 .htaccess에 중복된 핫링크 규칙이 남아 있는지
- 캐시를 비운 뒤 다시 확인했는지
제 기준에서는 핫링크 차단 자체보다 도메인 예외 처리 누락이 훨씬 자주 문제를 만듭니다. 사이트가 2개, 3개로 늘어날수록 이 부분은 더 중요해집니다.
HTML 마우스 우클릭 및 드래그 방지
웹사이트에서 마우스 우클릭과 드래그를 막는 방법은 예전부터 많이 쓰였고, 지금도 간단하게 넣을 수 있습니다.
다만 이 방식은 어디까지나 일반 사용자에게만 어느 정도 억제 효과가 있는 것이지, 완전한 보호 수단은 아닙니다.
아래 코드를 <head> ~ </head> 사이에 script 코드로 삽입하면 됩니다.
<head>
<script type="text/javascript">
document.oncontextmenu = function(){return false;}
</script>
</head>
이 코드는 우클릭 메뉴를 띄우지 않게 막는 가장 단순한 방식입니다. 구현은 쉽지만, 개발자 도구나 다른 방법까지 막는 것은 아니기 때문에 너무 강한 보호 장치로 기대하는 것은 맞지 않습니다.
다음은 <body> 아래에 넣는 예시입니다.
<body oncontextmenu="return false" onselectstart="return false" ondragstart="return false" onkeydown="return false">
이 속성은 우클릭, 텍스트 선택, 드래그, 단축키 복사를 한 번에 막는 방식입니다.

다만 코드 복사가 필요한 글이나 사용자가 드래그해야 하는 글에서는 오히려 불편이 커질 수 있어서, 저는 전체 사이트 공통 적용보다는 필요한 글 유형에만 제한적으로 쓰는 편이 낫다고 봅니다.
워드프레스 마우스 우클릭 차단
글을 퍼가는 행동은 결국 텍스트 복사나 이미지 저장이 출발점인 경우가 많습니다.
그래서 마우스우클릭과 마우스드래그를 막는 플러그인을 함께 쓰는 경우도 많습니다. 다만 이 방법은 어디까지나 보조 수단이고, 이미지 트래픽을 직접 줄이는 역할은 핫링크 차단이 더 큽니다.
그래도 가볍게 적용하기 쉬운 플러그인으로는 WP Content Copy Protection & No Right Click가 가장 많이 언급됩니다.

WP Content Copy Protection & No Right Click
This wp plugin protect the posts content from being copied by any other web site author (content copy protection) , you dont want your content to spre …
wordpress.org
대표적으로 많이 보는 기능은 아래 정도입니다.
- 텍스트 선택과 복사 제한
- 이미지 저장 억제
- 오른쪽 클릭 메뉴 제한
- 일부 복사 단축키 제한
- 드래그 저장 방지
다만 이런 플러그인은 버전을 오래 방치하면 다른 문제가 생길 수 있기 때문에, 지금 쓰는 테마나 캐시 플러그인과 충돌이 없는지 먼저 보고 쓰는 편이 좋습니다. 제 기준에서는 우클릭 차단만 믿기보다 핫링크 차단을 먼저 걸고, 그 위에 필요한 경우만 플러그인을 얹는 방식이 더 낫습니다.

유료 기능까지 들어가면 워터마크, 이미지 대체, 오버레이 보호처럼 더 강한 옵션도 보이지만, 실제 운영에서는 모든 기능을 다 켜기보다 필요한 것만 쓰는 편이 훨씬 안정적입니다. 특히 블로그나 정보형 사이트는 사용성도 같이 봐야 하기 때문입니다.
티스토리와 워드프레스에서 같이 보기 좋은 운영 기준
정리하면 이렇습니다. 텍스트 복사만 막고 싶다면 우클릭 차단도 의미는 있습니다.

하지만 이미지 불펌과 트래픽 문제까지 함께 보려면 결국 핫링크 차단이 먼저입니다. 그리고 사이트를 여러 개 운영 중이라면 차단보다 먼저 허용 목록 설계를 생각해야 실제 운영이 편합니다.
- 사이트가 1개면 내 도메인만 허용
- 사이트가 2개면 두 도메인 모두 허용
- 사이트가 3개 이상이면 실제 이미지 공유 중인 모든 도메인 허용
- www, CDN, 이미지 전용 도메인도 필요 시 같이 허용
- 적용 후에는 본문 이미지와 캐시까지 꼭 확인
저는 이런 설정을 할 때 무조건 강하게 막는 쪽보다, 내 사이트끼리는 정상 표시가 먼저 되도록 잡고 외부만 막는 쪽을 더 추천합니다. 그래야 운영이 편하고, 나중에 이미지가 안 뜰 때 원인 찾기도 훨씬 쉽습니다.
Q. 핫링크 차단을 켜면 내가 운영하는 다른 사이트 이미지도 안 뜰 수 있나요?
A. 그렇습니다. 허용 도메인 목록에 함께 운영하는 사이트 주소를 넣지 않으면 내 다른 사이트 본문에서도 이미지가 깨질 수 있습니다.
Q. 사이트가 2개나 3개가 아니라 더 많으면 어떻게 해야 하나요?
A. 숫자 자체는 중요하지 않습니다. 실제로 이미지를 공유하는 도메인을 모두 허용 목록에 넣으면 됩니다. 필요하면 www와 CDN 주소까지 같이 추가하면 됩니다.
Q. 우클릭 방지만으로 불펌을 막을 수 있나요?
A. 일반 사용자 억제에는 도움이 되지만 완전 차단은 어렵습니다. 이미지 트래픽까지 줄이려면 핫링크 차단이 더 직접적입니다.
Q. 핫링크 설정 후 이미지가 엑박으로 뜨면 무엇부터 확인하면 되나요?
A. 허용 도메인 누락, www 누락, 확장자 누락, CDN 주소 누락, 중복된 .htaccess 규칙, 캐시 문제부터 먼저 확인하는 것이 가장 빠릅니다.