RadarURL

조회 수 5086 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

얼마전 수피아님의 블로그를 방문해보니, 불펌으로 인한 트래픽 오버문제로 속상해하시는 모습을 보았다. 퍼가는 사람이야 아무런 문제의식도 없이 그냥 긇어가는 것이겠지만, 설치형 블로그를 운영하는 블로거의 입장에선 정말 골치아픈 문제가 아닐수 없다.

그러다가 오늘, 우연히 올블을 통해 워터마크를 삽입하는 방법을 알게되어, 이 곳에 소개해 놓는다.

원문 페이지 : 블로그 공장 포럼

먼저 ".htaccess"라는 이름의 파일을 만들어 아래와 같이 쓴다.

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*jpg$|.*gif$|.*png$|.*jepg$|.*bmp$ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !loose\.hubweb\.net [NC]
RewriteCond %{HTTP_REFERER} !loose\. [NC]
RewriteCond %{HTTP_REFERER} !google\. [NC]
RewriteCond %{HTTP_REFERER} !search\?q=cache [NC]
RewriteRule (.*) image.php?image=$1


4번째부터 6번째 줄까지는 주소를 적는 부분이다. 위 소스에서는 loose.hubweb.net과 google에게 링크를 허용하였다. 주소를 적는 방법은 "."이 들어간 곳에 \를 써 주면 된다.

예) http://loose.hubweb.net/tatter   ->  loose\.hubweb\.net/tatter

image.php?image=$1 는 허가된 주소외의 페이지에서 그림을 읽어갈때, 이미지와 워터마크를 합성하여 보여주는 곳이다. 그냥 링크만 차단시키고 싶은 경우, 아무 글자나 써 주면 된다.

다음으로 image.php 파일을 만든다.

<?
define ("WATERMARK", "watermark.jpg");

header("Content-type: image/jpeg");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

$pic = strip_tags( $_GET['image'] );

$image_url = urldecode($pic);

if (!@fopen($image_url, "r")) {
$dst_img = imagecreatefromjpeg(WATERMARK);
$res = imagejpeg($dst_img, "", 100);
die();
}

$file = pathinfo($image_url);
switch(strtoupper($file["extension"])) {
case "JPG":
$src_img = imagecreatefromjpeg($image_url);
break;
case "JEPG":
$src_img = imagecreatefromjpeg($image_url);
break;
case "BMP":
$src_img = imagecreatefromjpeg($image_url);
break;
 case "GIF":
$src_img = imagecreatefromgif($image_url);
break;
case "PNG":
$src_img = imagecreatefrompng($image_url);
break;
}

$src_w = imagesx($src_img);
$src_h = imagesy($src_img);

$portion = $src_h / $src_w;
$dest_w = 300;
$dest_h = round($dest_w * $portion);

$dst_img = imagecreatetruecolor($dest_w, $dest_h);
imagecopyresized($dst_img, $src_img, 0, 0, 0, 0, $dest_w, $dest_h, $src_w, $src_h);

$watermark = imagecreatefromjpeg(WATERMARK);

$watermark_w = imagesx($watermark);
$watermark_h = imagesy($watermark);

$overlay_img = imagecreatetruecolor($watermark_w, $watermark_h);
imagecopy($overlay_img, $watermark, 0,0,0,0, $watermark_w, $watermark_h);
imagedestroy($watermark);

$white = imagecolorallocate($overlay_img, 0xFF, 0xFF, 0xFF);
imagecolortransparent($overlay_img, $white);

$offsetX = $dest_w - $watermark_w - 3;
$offsetY = $dest_h - $watermark_h - 3;

imagecopymerge($dst_img,$overlay_img,$offsetX,$offsetY,0,0,$watermark_w,$watermark_h, 100);
imagedestroy($overlay_img);

$res = imagejpeg($dst_img, "", 100);
imagedestroy($dst_img);
?>


중간을 보면

$dest_w = 300;
$dest_h = round($dest_w * $portion);

라는 부분이 있는데, 이 곳이 워터마크 그림의 사이즈를 조절하는 곳이다. 식을 보면 가로 사이즈는 300이고, 높이는 가로사이즈에 맞추어 조절하도록 되어있는데, 워터마크 그림사이즈에 맞추어 원하는 사이즈를 직접 써 넣으면
된다.

이제 마지막으로 워터마크를 제작한다. 적당한 이미지로 제작한뒤, watermark.jpg로 저장하여 준다.

자, 그럼, 이제 작업은 다 끝났다. 위의 순서대로 작업을 마치었다면, .htaccess파일과 image.php, 그리고 watermark.jpg 파일이 있을것이다. 이 파일을 태터폴더 하위의 /attach/1 에 모두 업로드한다. 그럼 끝.

아래에 작업한 파일을 첨부하니, 혹 이해가 안가시는 분들은 참고하시길 바란다. ^^

 

출처 : http://sogmi.com/501

?

공부 게시판

공부에 도움되는 글을 올려주세요.

  1. [공지] 공부 게시판 입니다.

    Date2003.08.18 By처누 Views936026
    read more
  2. 올바른 자위습관을 가져야 하는 이유

    Date2026.01.12 Category건강 ByJaeSoo Views1
    Read More
  3. 대한민국 결정사 직업 등급표

    Date2026.01.09 Category연애 ByJaeSoo Views7
    Read More
  4. 알아두면 유용한 향수 향 종류 모음

    Date2026.01.09 Category생활 ByJaeSoo Views8
    Read More
  5. 로그인 구글 드라이브 안 쓰고 시놀로지 드라이브 쓰는 이유, 설정 방법 & 활용팁

    Date2026.01.08 Category업무 ByJaeSoo Views8
    Read More
  6. SMB 다중 채널 관리

    Date2026.01.08 Category네트워크 ByJaeSoo Views4
    Read More
  7. Synology NAS SMB 3.0 Multichannel 이용하기

    Date2026.01.08 Category네트워크 ByJaeSoo Views6
    Read More
  8. 어떻게 SSH를 통해 root 권한으로 DSM/SRM에 로그인할 수 있습니까?

    Date2026.01.08 Category네트워크 ByJaeSoo Views4
    Read More
  9. 시놀로지 나스 SMB 3.0 멀티채널 구성하는법

    Date2026.01.08 Category네트워크 ByJaeSoo Views7
    Read More
  10. RWA(Real-World Assets): 실물자산 토큰화 이해

    Date2026.01.05 Category경제 ByJaeSoo Views9
    Read More
  11. 그루밍성범죄와 가스라이팅 차이점, 처벌 수위 알아보기

    Date2025.12.23 Category생활 ByJaeSoo Views62
    Read More
  12. 전문의가 추천하는 자위 횟수

    Date2025.12.23 Category건강 ByJaeSoo Views65
    Read More
  13. 일상에 쉽게 적용할 수 있는 수면 관리 앱 5가지

    Date2025.12.18 Category모바일 ByJaeSoo Views107
    Read More
  14. 매일 밤에 머리 감으면 일어나는 일ㅣ탈모 전문가가 알려주는 충격적인 진실ㅣ김주용 원장 1편ㅣ닥터딩요

    Date2025.12.11 Category건강 ByJaeSoo Views102
    Read More
  15. 다친 손가락에 끼우는 실리콘 손가락

    Date2025.12.11 Category건강 ByJaeSoo Views97
    Read More
  16. 성적 취향에 대하여...

    Date2025.12.09 Category연애 ByJaeSoo Views217
    Read More
  17. fwb(Friends with Benefits)에 대해

    Date2025.12.09 Category연애 ByJaeSoo Views179
    Read More
  18. 자위가 잠자는 데 도움이됩니까? 알아봅시다!

    Date2025.12.09 Category건강 ByJaeSoo Views172
    Read More
  19. 야동 실태보고서

    Date2025.12.09 Category건강 ByJaeSoo Views166
    Read More
  20. 불면증 해결을 위한 자위 활용

    Date2025.12.09 Category건강 ByJaeSoo Views224
    Read More
  21. 변호사가 보아온 상간남들의 공통점

    Date2025.11.25 Category연애 ByJaeSoo Views264
    Read More
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 127 Next
/ 127


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너